webug---SQL注入之宽字节注入

宽字节注入原理:
在这里插入图片描述
如图,是一段源码,我们来看看这段源码的功能:

第一行是连接数据库
第二行是设置编码为gbk编码,即中文编码
第四行使用addslashes()函数,这个函数是用来转义单引号的,会将单引号转义为\',这样的话转义之后我们就无法闭合sql语句

例如:

select first_name,last_name from id='1';
上面的sql语句,如果是采用单引号闭合,那么经过addslashes()函数转义之后,就变成了:
select first_name,last_name from id='1\';
可以看出,这样之后就不能成功的闭合sql语句,导致后面的语句也无法执行

因为这个函数导致我们没有办法闭合,所以我们要尝试绕过,源码上面的编码是gbk中文编码,在中文编码中%df%25会经过浏览器解码之后变成一个中文汉字,%25就是\符号的url编码值;所以当我们在gbk环境下,我们输入%df’,%df后面有个单引号,因为单引号转义之后会变成’,那么语句变成:

select first_name,last_name from id='1%df';
转义之后:
select first_name,last_name from id='1%df\';
%df\在经过浏览器解码会变成一个中文汉字,即:
select first_name,last_name from id='1運';
这样我们就可以成功绕过啦

原理就是这样,明白了吧

给大家分享一篇宽字节注入文章:link

然后现在我们进入webug宽字节注入的靶场:
首先看一下页面本来的样子:
在这里插入图片描述
之后,我们尝试找注入点,尝试闭合:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在尝试了’、"、)以上三种符号闭合之后,页面都没有反应,所以我们猜测可能存在宽字节注入:

http://39.107.111.157:81/control/sqlinject/width_byte_injection.php?id=1%df%27

在这里插入图片描述
可以看到,页面报错了,说明存在注入点,我们现在用注释符把后面多出的单引号注释掉!

http://39.107.111.157:81/control/sqlinject/width_byte_injection.php?id=1%df%27 --+

在这里插入图片描述
注释掉之后页面返回正确,然后我们就可以按照正常的爆库、表、字段、数据的流程就可以啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值