2013年2月24日星期日

对昨晚人人日志xss一点分析


特别鸣谢: @王大鹏.py
目前还幸存的日志(点击请慎重):
  1. 特别声明
  2. 请慎重模仿。。。。
  3. 攻击流程
    1. 引入js
    2. 首先查看攻击者发的日志,我们在日志内容部分可以看到一段代码(eval...),这段代码在onload的时候被执行(关于这段代码是如何被添加进来的,以及本来应该被禁止的onload是如何被添加进来的,据大鹏大神的猜测是因为日志最近的跟插入视频有关的一些改版造成的一个漏洞。貌似就是视频的一些信息被存在了一个img标签上,然后这个img标签被攻击者改了,加了onload执行js了,应该是在编辑日志的时候用审查元素之类的手动修改内容,总之绕过了对onload的检查,具体的可以去那篇幸存的日志下面问是如何发出来的,应该不难)

    我们可以看到一段eval的代码,是加密为了防止被人人屏蔽掉的,对其中







      这段 进行解码后发现是如下代码:



      这段代码的作用是在页面中增加一个script 标签,从而引入一个文件,这个文件的地址是http://t.cn/zYKFUUl,我们去直接看这个地址会发现这个文件是一个gif文件,具体这个文件是如何执行的,会在下一部分中说明。
    1. 利用js脚本发日志
    2. 我们看到上一部分中引入了一个文件(http://t.cn/zYKFUUl),打开一看却是一个gif文件,用文本打开发现了这个文件的末尾部分加了一段代码如下图(全部代码参看 https://gist.github.com/wong2/5019880):



      这个代码的作用有以下三点
    • 记录cookie
    • 从get.php中获取需要发布的日志内容(因此这次xss每次文章都不一样)
    • 发布日志(发布 的日志中只要有第一部分的那部分脚本就可以继续传播)
这几部分都可以从代码中看到

大致的过程应该就这样吧。。。。。

0 评论

Posts a comment

Thank you for your comment

 
© ZXM‘s Blog
Modified by Xiaomeng Zhao
Back to top