L84*_*L84 29 malware javascript avg-antivirus
AVG 最近告诉我,由于JavaScript Obfuscation一个网页被阻止。
为什么网页被屏蔽了,这到底是什么意思?
小智 38
混淆是一种“模糊”JavaScript 代码真正含义和意图的方法。一些网站将其用作想要复制/借用其代码的人的障碍。其他站点使用它作为隐藏代码实际意图的手段。
一些形式的遮蔽:
遮蔽本身并不是邪恶的,但它可以用来试图隐藏邪恶的意图,这可能是 AVG 所反对的。它检测到如此多的模糊,以至于无法判断 javascript 是否试图做一些它试图阻止的事情。因此,它默认将代码声明为不安全,因为它无法验证代码是否正常。
Den*_*nis 13
混淆是指隐藏某物的预期含义。
在这种情况下,一个清晰可读的 JavaScript 片段,例如
window.onload = function() { alert("Hello " + username) };
Run Code Online (Sandbox Code Playgroud)
可以替换为
var _0xc5b2=["\x6F\x6E\x6C\x6F\x61\x64",
"\x48\x65\x6C\x6C\x6F\x20"];window[_0xc5b2[0]]=
function (){alert(_0xc5b2[1]+username);} ;
Run Code Online (Sandbox Code Playgroud)
甚至
eval(unescape("var%20_0xc5b2%3D%5B%22onload%22%2C%22Hello%20%22%5D%3Bwindow"+
"%5B_0xc5b2%5B0%5D%5D%3Dfunction%20%28%29%7Balert%28_0xc5b2%5B1%5D+username"+
"%29%3B%7D%20%3B"));
Run Code Online (Sandbox Code Playgroud)
所有三个代码片段都做完全相同的事情,但只阅读第一个可以让您轻松理解其意图。
显然,AVG 在允许其执行之前尝试了解 JavaScript 代码的目的。当代码被混淆时,AVG 可能会失败。因此警告。
话虽如此,一些网站混淆他们的 JavaScript 并不是出于恶意,而是为了使其难以窃取他们的作品。如果用于此目的,混淆通常是无用的,但关键是混淆并不一定意味着恶意。
| 归档时间: |
|
| 查看次数: |
33152 次 |
| 最近记录: |