bWAPP--iFrame Injection

iFrame Injection

  • low

在这里插入图片描述

#引号绕过,适当闭合
http://127.0.0.1/iframei.php?ParamUrl="></iframe><script>alert("GetPass")</script><iframe&ParamWidth=250&ParamHeight=234
  • mid
    <!--注释绕过
"></iframe><script>alert(1)</script><!--
  • high
    无法绕过

总结

addslashes注入方法

  1. 设置数据库字符为gbk导致宽字节注入
    在这里插入图片描述
    gbk是多字节编码,两个字节代表一个汉字,而php为单字节编码,又gbk编码存在如的编码中存在****,故php在读取时,获取 一个\,再加上addslashes自身会对出现的 特殊字符(如 ’ ")进行转义为 ’ ,故合并之后会出现 \\ ’ ,用\ 转义\,进行绕过。
  2. 使用icon,mb_convert_encoding转换字符编码函数导致宽字节注入
    在这里插入图片描述
  • 编码解码导致的绕过
  1. url解码导致绕过addslashes在这里插入图片描述
    对输入字段进行两次编码,(因为一次浏览器默认会对输入内容进行一次decode),故在后端再次解码之后就会出现 ’ 进行闭合。
  2. base64解码导致绕过addslashes (同理)
  3. json编码导致绕过addslashes
    在这里插入图片描述
    addslashes之后获得 ’ json编码之后转移为 \\’
    json编码绕过addslashes是因为json编码会把\转换为\\

addslashes转义绕过

  • 注释绕过
    <!--

addslashes防御方法

  • 编码宽字节注入
    (1)使用mysql_set_charset(GBK)指定字符集
    (2)使用mysql_real_escape_string进行转义
    原理是,mysql_real_escape_string与addslashes的不同之处在于其会考虑当前设置的字符集,不会出现前面e5和5c拼接为一个宽字节的问题,但是这个“当前字符集”如何确定呢?就是使用mysql_set_charset进行指定。上述的两个条件是“与”运算的关系,少一条都不行。
  • 编码解码导致的绕过
    对解码后的字符再次进行过滤
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值