续接上文
打开靶机
同样是sql注入,题面已经提示我们flag在flag表的flag列里了
接下来我们只需要查询就好了
检测注入方式
输入1’ 回显bool(false)
没有报错信息
使用堆叠注入和联合查询 均回显SQL Injection Checked.
那只能考虑盲注,测试下是否有两种回显方式
使用1^1
和1^0
测试
发现1^1时,回显Error
发现1^0时,回显Hello, glzjin wants a girlfriend.
说明可以使用盲注
直接跑脚本就行了
把昨天的脚本复制一下,post传参名称改为id就好了(题目提示要我们提供id)
Payload
1 | import requests |
但是这里跑是跑不出结果的
问题分析
测试语句
1^(ascii(substr((select(group_concat(flag))from(flag)),1,1))<104)
(因为flag的第一个字母f的ascii是102)
发现SQL Injection Checked
所以说某些词被检测到了
经测试…
当输入select(group_concat(flag))
时,检测到了SQL注入
修改Payload
如果列内只有一个数据,可以不使用group_concat
因为flag列只有一个flag(
所以脚本payload改为
1^(ascii(substr((select(flag)from(flag)),%d,1))<%d)%(i,mid)
成功拿到flag
PS:不要直接copy我的flag,这个题是动态flag