漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-076042
漏洞标题:京东登录页面XSS Rookit可致用户密码被窃取 (乌云峰会视频演示-0x03)
相关厂商:京东商城
漏洞作者: 多多关照
提交时间:2014-09-14 13:53
修复时间:2014-09-19 13:54
公开时间:2014-09-19 13:54
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-14: 细节已通知厂商并且等待厂商处理中
2014-09-19: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
乌云峰会视频演示-0x03
详细说明:
1. 缺陷文件:http://misc.360buyimg.com/purchase/swf/flashcookie.swf
2. 缺陷代码:
3. 可以看到,要进入saveFlashCookie 这个流程,需要checkSaveReady()返回真,checkSaveReady的返回值来自于 ExternalInterface.call("isSaveReady");同时, saveFlashCookie 的第2个参数来自 ExternalInterface.call("returnCookieByKey", "TrackID");
4. 基于此,可以构造 isSaveReady和returnCookieByKey
另外,在FLASH初始化时,会调用 getFlashCookie函数,该函数最终会调用
ExternalInterface.call(_local1, _local3);
其中_local3来自于 FLASH本地存储数据中的TrackID
构造的代码如下:
漏洞证明:
http://v.youku.com/v_show/id_XNzc3MzM0MTU2.html
密码:wooyunsummit
此外,由于京东的开发人员在使用写代码时,没有注意chrome下 https协议的页面无法正常调用http协议下的FLASH文件,导致这个FLASH XSS漏洞在chrome下无法正常执行,但IE下是可以的,因此视频中使用IE作为演示。
修复方案:
对getFlashCookie中或其他函数中进入ExternalInterface.call 函数的数据,进行必要的过滤,一般要求第一个参数写死,第2个参数,过滤掉 \ ,在不影响业务的前提下,可以尽量避免特殊字符的处理,仅允许纯数字或字母进入。
版权声明:转载请注明来源 多多关照@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-09-19 13:54
厂商回复:
漏洞Rank:10 (WooYun评价)
最新状态:
暂无