热门文章
阿标在线 动力3.62HTML生成3.62网站文件说明
动力3.62整合动网7.0 SP2插
MDAC2.8 下载!
动力3.62版 防止垃圾留言
动力3.6全方位改动方法
让3.62不同频道实现不同风
把3.62首页登陆为横向代码
动易3.6首页随机FLASH修改
362首页和文章频道页图文幻
个性化修改3.6宝典
3.62轻易实现网摘功能
如何正确统计中文字数?
弹出JAVASCRIPT语法错误对
后台使“网站顶部LOGO地址
最新图片文章横向移动的修
html 生成艺术字
3.6 Sp2 Logo和Banner及广
日期值的计算
汉字转拼音
首页“图片更新”图片滚动
简体中文转换为繁体中文的
如何在css中定义链接的下划
ASP后门之终极伪装
[ 录入:阿标 | 点击数: | 更新时间:2004-11-30 12:19:00]
记得当年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却什么都检测不到!呵呵