MySQL魔术引号绕过

MySQL注入总结

绕过魔术引号

简介

现在的WEB程序基本都有对SQL注入的全局过滤,运维人员配置PHP环境是一般会开启魔术引号GPC,即magic_quotes_gpc=On的情况下,如果输入的数据有单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)等字符都会被加上反斜线进行转义处理。不过GPC在PHP5.4版本后就取消了,所以现在一般都用addslashes()函数来代替GPC进行过滤处理。目前用PHP开发的应用一般是MVC的框架模式进行开发,对GET、POST和COOKIE等传递的参数通常使用addslashes()函数进行转义,并引入一个类似common.php的文件进行处理addslashes()函数对接收的参数进行过滤,尤其是单引号。

绕过

  1. 查看sql语句是否被 ’ 或 “ 保护,’ " 是否被魔术引号或addslashes转义(GPC在PHP5.4版本后就取消了),转义了之后,查看源代码是否有编码滥用,导致可以绕过转义。

  2. 编码解码函数导致的Bypass
    一些编码解码的函数像[[urldecode]]、[[base64]]decode的使用会导致绕过addslashes函数的全局防护

  3. 宽字节绕过 %df (宽字节注入产生原因:mysql_query(“SET NAMES ‘gbk’”))

  4. 多重url编码
    http://localhost/sqltest/urldecode.php?id=1%2527 %2527是 ’ 的两重

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值