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

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

缺陷编号:wooyun-2014-054857

漏洞标题:destoon最新版某敏感功能xss指哪打哪

相关厂商:DESTOON

漏洞作者: phith0n

提交时间:2014-03-28 19:00

修复时间:2014-06-26 19:01

公开时间:2014-06-26 19:01

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

危害等级:低

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-03-28: 细节已通知厂商并且等待厂商处理中
2014-04-01: 厂商已经确认,细节仅向厂商公开
2014-04-04: 细节向第三方安全合作伙伴开放
2014-05-26: 细节向核心白帽子及相关领域专家公开
2014-06-05: 细节向普通白帽子公开
2014-06-15: 细节向实习白帽子公开
2014-06-26: 细节向公众公开

简要描述:

之前提交过,官方说补了
http://www.wooyun.org/bugs/wooyun-2014-053573
于是我看看修补以后的效果。

详细说明:

这是最新版的过滤富文本xss的函数:

14.jpg


  已经解决了之前的问题。用expressi0n替换了expression。看似似乎没问题了。
  其实还有各种问题。IE还有一个容错特性,那就是expression,其中加斜杠\,在IE6789上是可以触发的(当然我没测试更高版本)。所以,利用这个特性,可以绕过dsafe函数的过滤。
  这时候,我们测试:

<img style=xss:expre\ssion(alert(document.cookie))>


  照弹无误:

15.jpg


这是IE6789下都能触发的。比较鸡肋,来一个全部浏览器,点击触发的。利用超链接的伪协议来执行:

<a href=javascript:alert(/a/)>click</a>


  dsafe函数将script过滤成了scr-pt,所以javascript就变成了javascr-pt。但还是那句老话,html属性中是可以用字符编码绕过的,所以我们可以把javascript写成java&#115;cript。
  但还有一点要注意了,dsafe函数的第一个正则是/&#([a-z0-9]+)([;]*)/i,先就考虑了你使用html实体的情况,所以java&#115;cript又会被过滤成javacript,中间少个s,啥都干不了。
  继续绕过吧。它既然把&#115;替换成了空,我们就嵌套一层,变成&&#115;#115;,这样中间的&#115;被替换成了空,正好两边的组成了一个&#115;。
  所以最后我们的poc就是:

<a href="java&&#115#115;cript:alert(/a/)">click</a>


  我们试试,发送一封含有该poc的短消息,就是需要点击:

17.jpg


  点击后触发:

18.jpg

漏洞证明:

见详细说明。

修复方案:

使用白名单过滤富文本。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-04-01 08:09

厂商回复:

感谢反馈,我们会尽快修复

最新状态:

暂无