动网8.1后台获取Webshell的详细方法

作者:hackest [H.S.T]

此文章已发表在《黑客X档案》2008年第2期杂志上
后经作者发布在博客上,如转载请务必保留此信息!
文章难易度:★★★
文章阅读点:动网8.1后台获取Webshell的详细方法
话说这期公布了一个动网8.1的最新注入漏洞,利用该漏洞可以轻松得到管理员密码的MD5值,进而查询密码明文进入后台。不过至于进了后台怎么拿 Webshell就没有介绍,本文将详细讲述动网8.1论坛后台获取Webshell的方法。动网虽然一直“洞”不断,不过8.1版本明显在后台安全方面比以前的版本加强了一些,甚至让不少朋友觉得“动网8.1终结了后台获取Webshell的可能”。其实不然,8.1后台一样可以得到Webshell,不过和8.0的有点不同。
一、后台备份
标题咋一看是老套路,但是如果你按照8.0的方法来试的话,结果会让你很失望的。此方法需要满足两个条件:
(1)、IIS6.0;
(2)、论坛可以执行上传及数据备份等操作。
要执行数据备份的前提,当然是你已经得到了管理员的用户名及密码,成功进入了后台才成立了。虽然利用的依然是IIS6.0的缺陷,不过与8.0的拿法有不同之处,主要表现有如下几点:
1、备份论坛数据页面的“当前数据库路径”不可更改;
2、备份论坛数据页面的“备份数据库目录”不允许出现.asp字符;
3、恢复论坛数据页面的“目标数据库路径”不可更改;
4、用空数据库合并的文件恢复会导致论坛出错,后续的备份操作无法完成。
我们来分析一下以上的限制条件,1、3是没办法突破了,因为这是程序锁死了的,无法更改了。其实之前我和朋友有试过把备份和恢复数据页面里面的 disabled="disabled"去掉,再本地保存为htm文件,再提交相关操作。不过事实证明这样做完全没有任何用处,因为动网限定了这两处为定值,不管你提交什么它都按照事先设定的值来读,所以这两点没办法突破。然后就是第2点,不允许出现.asp字符,咋一看以为真的封死了。可是从动网的代码发现只是限制了.asp,那我们就有机可乘了,目录不用.asp可以用.asa嘛,在IIS6.0下一样可以解析执行的!至于第4点,我们就需要变通一下了。从代码得知需要保留动网默认数据库里的一个表段Dv_TableList才不会影响到恢复后的备份操作,至于我们的主角一句话ASP马就可以插在这个 Dv_TableList表里面!为什么老说“恢复后的备份操作”呢?这是为了绕过1、3的限制,先将含有Dv_TableList表段(内插一句话 ASP马)的数据库改扩展为.txt后上传,然后利用“恢复论坛数据”功能把它恢复到/data/dvbbs8.mdb这个位置,接着再利用“备份论坛数据”功能将带马的文件备份到一个x.asa文件夹里,因为路径不可更改,只能顺着程序走了,让程序读自己的默认值来备份。说白了就是给动网来个“偷天换日”,把它原本以为正常的数据库文件换成我们带马的文件。这样就可以很巧妙的绕过上面所提及的四点限制了,至于(1)、(2)这两个硬伤就实在是回天无力了!
啰嗦了半天,菜菜可能头都大了,那我们再依照上面的描述操作一遍就简单明了咯。首先,我们要“制造”一个符合需求的.mdb文件:
1、把Data目录下的Dvbbs8.mdb复制出来,删掉除Dv_TableList以外的所有表段,如图1;
2、在TableType字段里插入数据,内容为一句话ASP马★★,如图2;

图1

图2
光这样还是不行的,因为即使数据库里只剩下一个表段,但体积依然比较惊人(大小为:2.04M)。这个体积远远超出了Windows 2003 默认不允许上传大于200K文件的限制!所以我们要把它变小点,让它变小的办法就是将它“转为Access 97 文件格式”(Dvbbs8.mdb是Access 2000格式的)如图3。

图3
“变身”后的Dvbbs8.mdb现在苗条很多了,大小仅为68K,符合要求了。然后我们把Dvbbs8.mdb改为Dvbbs8.txt(就是把扩展名. mdb改为.txt),这样做的目的是为了可以顺利上传。因为动网不允许上传.mdb文件(除非后台添加,不过多此一举),但允许上传.txt文件。
接下来的事情就比较简单了,只要别操作失误,就可以顺利得到Webshell了:
1、前台发帖上传Dvbbs8.txt,我这里的路径为http://127.0.0.1/UploadFile/2008-1/2008193431422189.txt
2、进入后台备份下论坛的当前数据,记下备份的文件名,确保呆会能恢复回来;
3、打开恢复论坛数据页面,“备份数据库路径(相对)”处填入★../UploadFile/2008-1/2008193431422189.txt★,如图4。然后点击“恢复数据”后返回“成功恢复数据”;
4、打开备份论坛数据页面,“备份数据库目录(相对路径)”处改为★../x.asa★,然后点确定,如图5。返回成功,如图6。得到Webshell地址为http://127.0.0.1/x.asa/databack20081954149_36673.mdb,访问一下,成功了,如图7;
5、将第2步备份的数据库恢复回来。

图4

图5

图6

图7
这样就可以在IIS6.0的环境下顺利得到一句话Webshell了,用一句话客户端连接,提交环境变量,成功返回相关信息,如图8。

图8
不过千万要记住这些操作除1、2两步外其余的顺序不能乱,步骤也不能少,而且操作间隔时间别太长,越快越好。否则会达不到如期的效果。因为我们在获取 Webshell的同时也要为论坛的正常使用考虑,不注意恢复数据的话会给对方造成比较大的损失,而且容易惊动目标,引起管理员的注意,将你的入侵行为暴露无遗。
二、添加上传
这个方法也不是新东西了,以前我的一篇关于动网8.0的后台拿Webshell的文章里提到过。就是直接添加php为允许上传的类型。进入后台,在“常用快捷功能”下找到“论坛版面管理”。随便找一个版块,进入“高级设置”,找到“上传文件类型”,添加上一个php文件类型,如图9。

图9
然后拉到下面,点击“提交”保存设置。再到前台发帖上传.php后缀的PHP大马,如果服务器当前目录支持PHP脚本,那就可以拿到Webshell了。这个方法的限制条件就是当前目录是否解析php脚本了,比如我找了一个支持的目标就成功拿到Webshell了,如图10。

图10
或者添加上传其它当前上当支持的脚本扩展也可以。
结合前面的动网8.1最新漏洞,估计小菜们又可以拿到不少Webshell了。最后,恭祝各位读者在新的一年里:学有所成,肉鸡成群!

相关日志

发表评论