实战前的知识储备
MySQL注释符
· #
· --空格
· /**/
内联注释
· /*! SQL语句 */ 只有MySQL可以识别,常用来绕过WAF 注入
探测符
· 常使用 \ 进行探测
注入逻辑
· 构造闭合
实战开始
1、进入靶场
2、输入?id=1
3、按照数字型注入的思路 使用 and 1=1,and 1=2 探测注入点
· and 1=1
· and 1=2
页面无反应
3、使用探测符号 \
4、根据页面输出的报错信息进行分析
''1\' LIMIT 0,1' --> '1\' LIMIT 0,1
猜测该字符用单引号闭合
看报错好像多了个单引号,所以添加一个注释
至此payload构造成功 -> id=1‘ -- oSw
5、将构造的payload写入靶场
页面显示正常
6、order by 探测字段数
7、union select 联合查询 观察回显点
8、version() database() 查询数据库版本和数据库名
9、利用information_schema爆出数据 - group_concat()
10、查看users表中数据
11、查询username和password数据 - group_concat或limit start,end都可以
通关成功!!
字符型注入的关键在于构造闭合