首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
我在qqmail上放了*个后门
来源:http://hi.baidu.com/hi_heige/blog 作者:superhei 发布时间:2009-07-28  
我在[QQmail Multiple Xss Vulnerabilities]的公告里指出了qqmail在设计上的多个缺陷导致的xss漏洞.qq的安全部门也比较重视这些漏洞都做出了对应的'修补',比如那个filter开关[filterflag=true]的问题.但是对于另外的设计缺陷的修补不是很完美:

---------------------------引---用------------------------------------------------------

在qqmail的附件和图片上传功能上存在着设计缺陷:

     * 上传文件存放域和qqmail是同一个域

     * 上传的文件后缀及内容根本没有做安全限制,直接导致上传一些恶意文件导致xss[如swf文件]
    
----------------------------------------------------------------------------------------

qq的修补并没有把附件和上传文件的域与mail的域分开[至于qq为什么这样做文章后面我们可以大体的分析下 :)].他们修补是分步进行的.

Step.1 只是简单的限制上传文件后缀

最开始在我那个公告发布后的fix只是简单的限制了上传文件的后缀,对文件的格式都没有限制[只让上传那几个常见的图片文件的后缀],于是当哥有一天告诉我可以直接利用图片里插入html/js来跨[只对ie6/7].这个当然是可以的.但是需要人家去另外访问你的图片.在[QQmail Multiple Xss Vulnerabilities]一文里已经映射了这个问题:

---------------------------引---用------------------------------------------------------

B.qqmail的Filter系统是不允许引用外部文件的[src=],但是它允许本地相对路径的文件引用

                       ................
                             
同样的比如上面1里提到的,也可以通过这个实现对firefox3的利用.[另外flash xml等文件的调用是可以修改后缀的]
    
----------------------------------------------------------------------------------------
我们可以修改为jpg后缀上传后,利用相对路径这个设计缺陷来调用.

而且他们还忘记了一个重要的问题,那就是本文标题里提到的'后门'----我写以前测试时候上传的文件依然存在.那么我们直接通过这些文件来进行xss攻击.

Step.2 隐藏绝对文件名,并使用sid的来做身份验证

对于一个使用广泛的在线产品,修补是一个漫长的过程,又过了n天.我继续测试.发现qq处理了所有的上传文件调用的方式:使用了服务段脚本文件去打开调用附件[类似于dz的处理方式],这样可以隐藏绝对的文件名,而且他们还通过sid的判断来做身份验证.如下方式:

"/cgi-bin/viewfile?f=11F636251C5ADFF31E0F25020FE92FB9CC5B57FBBE448B2263D4B6048CB1BA5F672851ADB2E92DB77F9ECD4165410EF1C6E9007C589D4E522EA5B7681D222548C8704E0C86D04372649CBC74504F70CC9BB81761&sid=1ZTUmMC2WgJvdXI4"

这个sid随你每次登陆而随机改变的,所以我们不知道对方的sid而不可以调用这个上传的文件.很完美!!! 看到这里你可能认为又是通过我在Step.1里提到的'后门'... 是的!! 我开始也是这样想的,但是实际测试当中.我直接访问一个以前上传文件的url[这里我暂时用http://m337.mail.qq.com/data/AAA.bbb表示]时,返回的却是404,看来真的是很完美了!!!. 难道他们删除了我的文件?当时我很愤怒,杂可以直接删除客户的数据呢!

[后来我发现我错怪qq了]

在我当时上传[http://m337.mail.qq.com/data/AAA.bbb]时,我同时我用了对应的tag调用了.当我访问这个tag调用的mail时,发现可以访问.于是我重新直接访问url:http://m337.mail.qq.com/data/AAA.bbb 它又出现了,而且任何人都可以访问..... 但是过了n个小时后,我又去访问上面的那个url, 靠 杂又是404啊~~~.很奇怪,也不知道qq是杂个搞的.于是我和偶像luo哥哥,讨论了一下,他给了一个'假说'可以解释这个奇怪的现象:

"可能是临时文件?"

换句话说也就是qq把上穿文件放到数据库里,或者是其他访问不到的地方,然后用viewfile去导出或者copy这个到原来的url.

不管上面的推断是不是真实的,重要的是我的'后门'还在,我还可以控制'后门'存在的时间,哈哈 很cool 很happy!

思考:

QQ如果把附件/上传文件的域分开呢![当然只是简单的分开域对于tag调用的方式是没有办法的],当然如果一开始就使用"隐藏绝对文件名,并使用sid的来做身份验证"这样的设计,我们的后门也不可能存在的!!,这个让我想起了刺在pstzine0x03里的文章:http://www.ph4nt0m.org-a.googlepages.com/PSTZine_0x03_0x07.html

----------引---用-------------
* 信任关系的划分是安全设计的基础
* 访问控制系统是安全设计的核心
* 代码与数据分离是安全设计的重要原则
* 最佳实践一:Secure By Default
* 最佳实践二:合理利用不可预测性
------------------------------

尤其是"代码与数据分离是安全设计的重要原则"和"Secure By Default",对于上面的例子,如果我们把上传的文件看为是用户的数据你就好理解了.另外一个就是"Secure By Default"这个告诉我们如果筐架最开始的设计是非常重要的,如果在后面出现了问题去才缝缝补补,那是不太好补的,而且代价也是很大!!


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·搜狐博客蠕虫
·xss简单渗透测试
·在Solaris系统中的sniffer攻击实
·*nux如何创建后门
·一次曲折入侵拿源代码过程(3)
·一次曲折入侵拿源代码过程(2)
·一次曲折入侵拿源代码过程(1)
·迅雷提权
·Developing A PHP Core Backdoor
·渗透中国联通
·oracle注入某市交通局
·各类型数据库注入时的一些语句
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved