危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2289 浏览19378976

PHP168“新漏洞”入侵与利用工具的简要分析

一、利用工具入侵网站

危险漫步最近又无聊了,于是随便在黑客论坛上转转,看看有没有什么新的漏洞。居然看到一个php168最新Oday利用工具,而且帖子说官网也存在这个漏洞。下载完工具,上传杀毒网查看无毒后就开始测试。先来打开利用工具,可以看见主界面。

既然号称能人侵官网,我就直接点击测试了一下。结果居然成功了,工具显示出了mysql数据库的用户名和密码,并在存放工具的文件夹下生成了一个数据库配置文件。

现在让我们来实际测试一下吧!谷歌搜索Powered by PHP168就可以找到很多网站了。把使用php168 cms的网站的地址替换成默认的,然后点击开始就可以看网站的mysql数据库的用户名和密码了。而且这个工具支持批量,在右边的网址就是有漏洞的。

很快我就找到了一个有漏洞的网站,得到了mysql数据库的用户名和密码。但是怎么利用昵?最简单的就是把这个当成管理员的密码去登陆后台,然后通过后台拿webshell。在一般的情况下,管理员的用户名就是admin,但是这个也不是一定的。可以使用工具的下载后台和下载日志来查看管理员的用户名。可以看到“成功登录,保密了“,并且管理员是hkhuaya。

网站的后台地址很简单,如果管理员没有修改的话,直接在网址后面加admin回车就出现了。但是使用数据库的密码去登陆却失败了,这时候就只有想其他方法了。首先我使用telnet网址3306的cmd命令来来确认服务器是否允许外部连接mysql数据库。这个cmd的命令就是利用telnet命令确定服务器的3306端口有没有打开,而mysql数据库的默认端口就是3306。有的服务器的数据库即使允许外部连接,但是限制了ip,这样也是无法连接的。看到可以连

接,并且数据库的版本是可以看到的。

可以连接就表示我们可以在本地搭建mysql数据库,然后连接远程的数据库查看里面的数据。搭建mysql数据库的方法有很多,这里推荐大家使用搭建php环境的phpnow。里面集成有mysql数据库,大家可以到官网去下载。完成phpnow的安装以后,进入mysql的文件夹中的bin文件夹中去。由于连接远程数据库是在cmd命令下完成的,这里危险漫步建议大家可以建一个bat文件,内容为cmd.exe。双击这个bat,就可以打开cmd命令了,而且默认就是在mysql的bin目录下,方便执行mysql的命令。mysql数据库连接远程数据库的语句为:mysql -u用户名-p密码-h网址或者ip地址,我按照语句输入得到的数据库用户名和密码就成功的登录了。

先来看看服务器中有些什么数据库,使用mysql命令:show databases可以看到在这个用户权限下能访问的数据库的名称。

我们来进入dbhkhuaya这个数据库,使用mysql命令:use dbhkhuaya就可以了。可以看到有回显database changed,说明现在我们就可以使用mysql的命令来查看这个数据库里面的内容。

现在来看看这个数据库有哪些表,使用mysql命令:show tables如果看到有members这个表,基本就可以判断里面有管理员的用户名和密码了。

接下来我们来查看下可能有管理员信息的表的结构,使用mysql的命令:describe p8_members可以看到有uid、username、password。

来查看有哪些用户名(在渗透其它网站时候也可以使用到连接远程数据库的方法,所以可能

不知道用户名),使用的mysql命令为:selectus ername from p8_members order by uid可以

看到members里面全部的用户名。这个命令的意思是以uid的顺序来列出username的内容,如果数据比较多的话就用:select username from p8_members order by uid limit O,30只列出前30个用户名。管理员肯定是uid第一的,这样就得到了管理员的用户名。

最重要的时候来了,我们来查询管理员的密码,使用mysql命令:select password from p8_

members order by uid可以看到32位md5加密的管理员密码。复制cmd命令里面的内容很

简单,右键点击标记选中密码直接回车就复制下来了。

危险漫步兴奋地拿到的md5站去解密,结果都查不到。难道要自己去暴力破解?当然不要那么麻烦,我们直接替换掉管理员的密码就可以了。随便md5加密一个简单的密码,这里我使用的是123456,然后利用mysql命:update p8_members set password= 'e10adc3949ba59abbe56e057f20f883e' where username=’hkhuaya‘就可以替换管理员的密码为123456了,当然别忘记改回来。

现在就可以来登录后台了,很简单的就登录成功了。php168后台拿webshell的方法有很

多,这里就不多说了。

肯定有人会说这也太麻烦了,有没有简单的方法。当然有的,但是在cmd下敲击命令来人侵不是很有黑客的感觉吗。好,现在来介绍简单的方法。之前如果利用phpnow来安装mysql数据库的人这里就不用再安装php环境了,方法就是利用php的webshell来连接远程的数据库(如果你手头有其它php网站的webshell也可以)。把webshell放到phpnow的根目

录的htdocs文件夹了,用浏览器访问127.0.0.1/webshell.php。

点击MySQL Manager,把dbhost填上网址或者ip,dbuser和dbpass填上mysql数据库的用户名和密码,点击连接就可以了,再来选择dbhkhuaya这个数据库。

进人数据库以后,直接选择表名就可以看到表里的内容了。而且点击Edit就可以编辑里面的内容,很简单的就可以查看和替换管理员的密码了。编辑password里面的内容,点击update就可以修改管理员密码了。这样实在是太简单了,可以看出工具的确可以方便不少。但是在晚上放着电脑里面的音乐去敲击cmd的命令,来入侵网站的感觉是使用工具体会不到的。

二、对工具的简单分析

使用工具来利用Oday的确很简单,但是它利用的是什么漏洞呢。从可以爆出数据库的用户名和密码这点来看应该是几个月前的“PHP168下载任意文件漏洞”,但是那么久了官网还没有修复漏洞吗。于是去搜索了这个漏洞的利用教程,发现是在网址的后面加:do/job.php?job=download&url=cGhwMTY4L215c3FsX2Nvbm2p2y5waHAg就可以直接下载到数据库配置文件,得到数据库的用户名密码。我去官网的演示网站试了下,结果不行。

我的操作系统为win7旗舰版,浏览器为IE8.0。

这就奇怪了,难道还真是新的漏洞吗?于是危险漫步来对这个工具进行抓包查看,抓包的结果发现的确是这个漏洞,但是提交的方式不一样,工具提交的地址是:o/job.php?job=download&url=cGhwMTY4L215c3FsX2Nvbm2p2y5waHAv,漏洞的利用的地址最后不是g而是v。

网上的漏洞说明“url=”后面是base64加密,我找了一个在线的解密网站解密了一下。发现是在mysql_config.php后面加了“/”,再看了下网上的利用方法是在mysql_config.php后面加了空格。所以官网修复了漏洞只是把空格处理了,这个漏洞实际还是存在的。

对官网进行测试,结果发现漏洞果然还是存在的。

继续对利用工具进行抓包,发现工具对203.171.225.68提交了数据,这样很有可能是后门。所以,我对利用工具的三个功能进行抓包后就不用这个工具了,而直接使用工具提交的链接。

总结,通过这次的漏洞工具利用复习了一些mysql数据库命令,对工具的抓包得到了漏洞的利用方法,发现了可能存在的后门。


相关推荐