宽字符注入详解

来源:互联网 发布:支付宝系统数据库设计 编辑:程序博客网 时间:2024/05/20 04:12
要了解的一些宽字符,以及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数据的时候会把#以及#之后的数据全部去除


原创粉丝点击