网马解密大讲堂——网马解密中级篇(Document.write篇)
来源:ikaka.com 时间:2009-09-16 16:16:00
阅读上一篇:网马解密大讲堂——网马解密中级篇(Eval篇)
一.Document.write 函数简介:
在Microsoft JScript 提供了两种方式来在浏览器中直接显示数据。可以使用write( ) 和 writeln( ),这两个函数是document 对象的方法。也可以在浏览器中以表格的方式显示信息,以及用警告、提示和确认消息框来显示信息。
使用document.write( ) 和 document.writeln( )显示信息最常用的方式是 document 对象的 write( ) 方法。该方法用一个字符串作为其参数,并在浏览器中显示。该字符串可以是普通文本或 HTML。
字符串可以用单引号或双引号引起来。这样可以引用那些包含引号或撇号的内容。
注:Document.write函数是将字符串转换为Html代码,里面必须有HTML脚本标签,脚本才可以执行,否则,将会被当作字符串输出在网页上。
二.Document.write函数实例
例1:
<script>
document.write("hell world")
</script>
将此段代码粘贴至记事本,保存为htm格式直接运行打开。这段代码的执行结果实际上是将hell world 在网页显示出来。
例2:
<script>
document.write("<iframe src=http://www.rising.com.cn></iframe>")
</script>
将上面的代码粘贴至记事本,保存为htm直接运行打开,这段代码的执行结果为在联网的情况下,直接会在网页上显示一个框架,而框架的内容为瑞星官方网站。
我们来简单分析一下这两个例子的执行结果为什么不同:
例1实际上是一个简单的输出,就是将document.write函数后的内容输出至页面。
例2内容包含了html脚本标签:<iframe>、 src、</iframe> ,此时将会直接执行脚本,而执行的结果为在网页上显示一个框架,而框架的内容为瑞星官方网站。
例1和例2实际上是对“Document.write函数是将字符串转换为Html代码,里面必须有HTML脚本标签,脚本才可以执行,否则,将会被当作字符串输出在网页上”。这段话的一个印证。
Document.write解密方法之alert方法,即在获得的包含有document.write函数的网马代码中,将document.wirte替换为alert函数,将代码保存至记事本,扩展名为htm文件,直接浏览运行。