SQLi-Labs 第32关

实训课上我们进行了SQLi-Labs 第32关的挑战,在这一关中,我们将面对一个通过反斜杠转义来防御SQL注入的系统。我们需要利用编码差异绕过这种防御机制。具体来说,通过宽字节注入技术,利用数据库和页面编码不同的特点,我们可以成功逃逸出被转义的单引号,从而进行SQL注入。

第32关

 

判断是否存在注入:and 1=2,发现没有生效

闭合以后,发现页面多出反斜杠

改成双引号,结果同样

注入单引号闭合时被反斜杠转义,查看源码发现简单过滤。通过检查编码设置,尝试利用宽字节绕过。原理是利用数据库和页面编码不同:PHP请求MySQL时经过GBK编码,并进行魔术引号处理。由于GBK是双字节编码,提交的%df字符和反斜杠组成新汉字,数据库按GBK处理后,单引号逃逸。

在第32关的挑战中,我们通过以下步骤成功利用宽字节注入技术绕过了转义防御机制:

首先,尝试常见注入语句 `and 1=2`,发现没有生效。然后,尝试闭合单引号和双引号,发现都被反斜杠转义。接着,利用GBK编码和特定字符 `%df` 逃逸转义。最后,确认注入点并执行SQL注入,成功获取数据库信息。这一关让我们深入理解了宽字节注入技术的原理和应用场景,学会了在复杂防御机制下进行SQL注入,提升了漏洞发现和利用能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值