漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0176436
漏洞标题:搜狗浏览器跨域漏洞+本地文件泄露漏洞(附带POC代码)
相关厂商:搜狗
漏洞作者: 隐形人真忙
提交时间:2016-02-17 15:40
修复时间:2016-05-21 10:50
公开时间:2016-05-21 10:50
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-02-17: 细节已通知厂商并且等待厂商处理中
2016-02-21: 厂商已经确认,细节仅向厂商公开
2016-02-24: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-04-16: 细节向核心白帽子及相关领域专家公开
2016-04-26: 细节向普通白帽子公开
2016-05-06: 细节向实习白帽子公开
2016-05-21: 细节向公众公开
简要描述:
都怪二哥!现在命令执行越来越难挖了!
详细说明:
最新版本的搜狗浏览器:
在研究插件的时候,发现了一个勉强算是本地域的东西:
data:text/html,chromewebdata
看到页面上有URL上的回显,测试一下:
既然有回显,自然而然上payload进行测试,提交:
发现了XSS,又测试发现,这个域居然支持调用external中的方法,并且很全且没有限制。于是想找个命令执行的方法。但是现在搜狗浏览器加固了协议跳转,不允许http域向插件域进行跳转,于是测试该域下能否跳转,结果会被当做弹出窗口拦截。
所以只能看看external接口中是否可以继续利用的了。
在侧边栏管理页面中,通读代码,发现一处片段:
在extension函数中,第一个参数为getRecommendSidebarExts时,根据该参数的名字,推测应该是推荐插件的列表,第二个参数是url,第三个参数是回调。
自己定义一个回调函数,看看arguments里都有啥:
居然可以拿到针对于第二个参数url的response,由于是特权API,所以也不存在SOP策略了。
测试一下本地文件:
也是可以返回的,既然支持file域请求,那么就可以通过读取本地的文件夹找到敏感文件名,直接对本地文件进行读取了。
POC:
evil.js:
漏洞证明:
见详细说明
修复方案:
见详细说明
版权声明:转载请注明来源 隐形人真忙@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2016-02-21 10:47
厂商回复:
感谢支持
最新状态:
暂无