实战前的知识储备
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都可以

通关成功!!
字符型注入的关键在于构造闭合
文章介绍了MySQL字符型注入的过程,包括了解不同类型的注释符,使用探测符号检测注入点,构造闭合payload,通过unionselect和information_schema获取数据库信息,以及最终读取用户数据。
492

被折叠的 条评论
为什么被折叠?



