首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有理由合法的网站使用这种混淆?

是否有理由合法的网站使用这种混淆?
EN

Security用户
提问于 2016-06-30 23:16:53
回答 1查看 2.2K关注 0票数 8

在javascript代码中看到了一些使用混淆的前200个网站(由Alexa)。知道他们为什么这么做吗?我猜他们这么做是为了防止数据抓取,但不确定。谢谢。

YouTube

Booking.com

EN

回答 1

Security用户

回答已采纳

发布于 2017-01-17 18:38:55

你从答案和评论中得到了很好的信息,但是他们并没有确切地回答这个问题。

使用混淆代码的原因取决于作者。

作者是个混蛋:如果作者正在编写恶意软件,那么使用签名、存在标记、预编译和其他方法,恶意软件检查器可以很容易地解析未混淆的代码。在这种情况下,作者希望恶意软件能够传播,因此,代码被混淆以避免被发现。

(请注意,这是不合法的,所以,没有回答你的问题,但我为后人加上了这个问题)

作者使用的是专利代码:如果作者正在编写专有代码,无论是在java/vbscript中还是在它正在使用的ActiveX库中,模糊代码都是程序员防止普通黑客了解并可能利用、窃取、利用或泄露这些秘密的方法。

作者使用的是秘密函数:如果作者在ActiveX库中编写使用秘密(未发布)函数的代码,则混淆对这些函数的访问可以减少普通黑客对此代码的查看、使用和利用。虽然这是一种危险的做法,但有时程序员使用的是“后门”逻辑--不需要身份验证或昂贵的制衡等等。这种代码有时被称为“调试”代码--一些临时的,或者是在生产中故意留下的,并且“不应该”使用的代码。

作者正在对密码进行硬编码:如果作者编写的代码是受保护信息(密码)的硬编码,那么作者可能想对普通黑客或机器人隐藏这些信息。

作者正在硬编码一封电子邮件:如果作者正在编写一封电子邮件的硬编码代码(例如,作为“联系我们”链接的一部分),作者可能希望将这一信息隐藏在寻找发送垃圾邮件的机器人面前。

作者使用的是弃用或beta代码:如果作者正在编写代码,该代码使用的是不打算用于常规生产的函数--例如,该代码被弃用或处于beta/alpha中--那么混淆它将减轻试图复制、使用、文档或依赖于此的任何人。在这里,没有人试图伤害别人的电脑,或者窃取代码。

作者使用了触发假阳性的好代码:如果作者编写的代码碰巧有一个通过病毒检查器触发假阳性的签名,作者可能会试图通过混淆代码来减轻这一问题,以免触发警报。这似乎与第一种情况类似,只不过在第一种情况下,作者是恶意的,而在这种情况下,作者并不试图颠覆任何人的系统。

临时黑客:请注意,任何有决心的黑客都会看穿所有这些,并在需要时轻松地解析代码。内容安全通常被视为圣杯。发送给客户端的任何内容在使用之前都必须被解密、解码或去混淆,这就是弱点所在:一旦解密、解码或去混淆,内容就可以访问。

票数 5
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/128839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档