绕过mysql转义字符_SQL注入:各种绕过检测的姿势

本文总结了SQL注入中绕过MySQL转义字符的各种方法,包括数据编码、特殊字符过滤、存储型注入、特殊字符转义与宽字节注入以及防火墙保护与HTTP参数污染的应对策略。通过实例展示了如何利用编码、替换关键字和利用漏洞进行注入攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一篇主要总结一下sqlilabs中advanced injection中的用到的各种绕过,也就是less21-less38。

目录

1)数据编码

2)特殊字符、语法关键字过滤

3)存储型注入

4)特殊字符转义与宽字节注入

5)防火墙保护与http参数污染

数据编码

这个是最简单的,就是在普通注入的基础上用响应的编码方式编码一下payload即可,比如sqlilabs上这两个靶站都是用的base64编码。

特殊字符、语法关键字过滤

出现了的过滤与绕过方式:

1)注释符号被过滤:可以采用以 or 'a'='b 结尾的方式绕过。其实注释本来的作用也就是闭合语句,只要抓住这个核心目标就行。比如如果目标参数是双引号包裹的,就可以用 or "a"="b 结尾来绕过。值得注意的是,由于'-'是注释的一部分也被过滤掉了,会带来其它的一些副作用,因为'-'同时也是减号和负号。

2)空格被过滤:可以用%a0来替代空格分割语句。

3)and和or被过滤:可以用&&和||来替代。值得注意的是,这里也会产生一些副作用,比如password会被过滤成passwd,解决这个副作用的方法是双写or,也就是改用passwoorrd,passwoorrd中or被过滤掉之后就变成了password。

4)union和select等被过滤:根据过滤的具体实现方式,可以尝试用sElect,uniOn等来代替。

以less-26a为例展示一个注入脚本:

im

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值