2014-07-06:细节已通知厂商并且等待厂商处理中
2014-07-11:厂商已经主动忽略漏洞,细节向公众公开
携程网游记系统可以提交保存JS代码,可导致存储XSS。
详细说明:闲来无事晃到携程网看游记,顺便验证一下是否可能存储XSS,没想到确实有收获。
携程网游记编辑器在保存游记内容时对游记内图片的JS Events进行了过滤,但是这个过滤居然是只在前台做了,后台没有做。
直接发HTTP Request到后台服务器,发现JS Events和代码居然能被存储,并且再次打开编辑器时可以触发。
由于携程游记系统有审批环节,不知道这个漏洞是否能在审批时被查出,代码是否能在审批时被过滤。如果不能,则可以导致浏览游记的用户中招。
本人用的浏览器是较为安全的Chrome。
1. 在携程新建一篇游记。随便编写点内容。打开Dev Tools把HTML代码改了。
如上图红框里所示,改成最简单的onerror触发JS。
2. 打开Dev Tools的Network,发现携程自动保存时提交的代码onerror已经被过滤了。
3. OK,来直接发HTTP Request吧。
携程提交的HTML先经过了HTML编码,又经过了URL编码。根据这个规则,自己构造一个HTTP Request,把图1里的HTML代码发到服务器。这里注意的第一点,URL编码把Space编为“+”,携程编为“%20”,把“img+onerror”替换为“img%20onerror”。提交HTTP Request时关闭游记编辑窗口,游记会实时保存,有可能覆盖自己提交的结果。
为保险,发10遍!
4. 在“我的主页”打开游记,XSS代码被触发。
携程自己研究。
版权声明:转载请注明来源 爱上电饭锅@乌云漏洞回应 厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-07-06 01:14
厂商回复: 最新状态:暂无