【问题标题】:html a onclick exploits causing antivirus to go crazyhtml 一个 onclick 漏洞导致杀毒软件发疯
【发布时间】:2012-01-12 07:49:29
【问题描述】:

有谁知道为什么会这样:

<a href="#" onClick="javascript_foo_function(1,'foo',34); return false;">

导致大多数防病毒软件(例如 McAfee mcshield.exe)失控?他们希望防止的漏洞是什么?许多程序(mcafee 和 norton)会进行一些疯狂的计算,这些计算似乎会随着链接数量的增加而呈指数增长,像这样的几百个链接可能会在页面可用前 2 分钟导致页面可用。我想知道他们在做什么?

一旦我将它们更改为&lt;A href="javascript:javascript_foo_function(1,'foo',34);"&gt;,杀毒软件就没有问题,也不会导致 CPU 使用率过高。

【问题讨论】:

  • 这不应该让 McAfee 失控。还有人可以确认吗?我没看到。
  • 你的意思是什么都没发生,杀毒软件还在疯狂?或者什么都没发生就说明他们冷静了?
  • 你能描述一下到底发生了什么吗?你确定跟链接数有关吗?
  • 他们平静下来,一无所获。如果我在具有不同数字的页面上有 200 次 onlick 参数,则 mcafee 会在大约 90 秒内达到 100% CPU。一旦我只使用href,扫描就会非常快。诺顿并没有那么糟糕,但它仍然有一个明显的延迟,并且会在几秒钟内达到 100% CPU。问题是,在企业环境中,每个人都在使用 mcafee,所以很多人都因此而瘫痪——我觉得这很有趣。但我们谈论的是 mcafee...关闭发送原始文本的 TCP 连接的程序,例如“select top 5”.....

标签: javascript html onclick antivirus exploit


【解决方案1】:

我不知道为什么病毒扫描程序会以这种方式做出反应,但提供一种可能的解决方法:尝试不要直接使用onclick,而是在外部 JS 文件中定义事件。也许这会通过而不会触发任何似乎认为这是可疑的“守卫”机制。

HTML:

<a href="#" id="link_1">

在您嵌入在文档末尾的单独 JS 文件中:

document.getElementById("link_1").onclick = function() { 
 javascript_foo_function(1,'foo',34); 
 return false;
}

现在,如果病毒扫描程序认为他们正在解决一个真正的问题,并且如果他们很聪明,他们就不会被此愚弄。但是我在一句话中使用“Norton”和“Smart”时遇到了麻烦,而且显然首先没有安全问题,所以它也可以工作。试试看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多