[公开漏洞]携程网游记系统过滤不严格导致存储XSS漏洞

来源:WooYun 浏览:639次 时间:2014-07-11
做网站找雨过天晴工作室
携程网游记系统过滤不严格导致存储XSS漏洞 相关厂商: 携程旅行网 漏洞作者:爱上电饭锅 提交时间:2014-07-06 01:14 公开时间:2014-07-11 01:15 漏洞类型:xss跨站脚本攻击 危害等级:中 自评Rank:10 漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞 漏洞来源:http://www.wooyun.org Tags标签: 存储型xss XSS 漏洞详情 披露状态:

2014-07-06:细节已通知厂商并且等待厂商处理中
2014-07-11:厂商已经主动忽略漏洞,细节向公众公开

简要描述:

携程网游记系统可以提交保存JS代码,可导致存储XSS。

详细说明:

闲来无事晃到携程网看游记,顺便验证一下是否可能存储XSS,没想到确实有收获。



携程网游记编辑器在保存游记内容时对游记内图片的JS Events进行了过滤,但是这个过滤居然是只在前台做了,后台没有做。



直接发HTTP Request到后台服务器,发现JS Events和代码居然能被存储,并且再次打开编辑器时可以触发。



由于携程游记系统有审批环节,不知道这个漏洞是否能在审批时被查出,代码是否能在审批时被过滤。如果不能,则可以导致浏览游记的用户中招。

漏洞证明:

本人用的浏览器是较为安全的Chrome。



1. 在携程新建一篇游记。随便编写点内容。打开Dev Tools把HTML代码改了。

01.png



如上图红框里所示,改成最简单的onerror触发JS。



2. 打开Dev Tools的Network,发现携程自动保存时提交的代码onerror已经被过滤了。

02.png





3. OK,来直接发HTTP Request吧。



携程提交的HTML先经过了HTML编码,又经过了URL编码。根据这个规则,自己构造一个HTTP Request,把图1里的HTML代码发到服务器。这里注意的第一点,URL编码把Space编为“+”,携程编为“%20”,把“img+onerror”替换为“img%20onerror”。提交HTTP Request时关闭游记编辑窗口,游记会实时保存,有可能覆盖自己提交的结果。



为保险,发10遍!



4. 在“我的主页”打开游记,XSS代码被触发。

03.png









修复方案:

携程自己研究。

版权声明:转载请注明来源 爱上电饭锅@乌云

漏洞回应 厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-07-06 01:14

厂商回复:

最新状态:

暂无