Javascript评论有安全隐患吗?

Wes*_*Wes 16 javascript security comments owasp

在一次简易PCI审计期间,审计员表示我们存在重大安全风险,因为

  1. 可以从我们的网站下载静态资源,如图像css和javascript,无需事先验证.
  2. 我们的javascript中有评论.

我个人认为这根本不是安全风险.图像css和javascript没有动态创建,它们不包含我们后端的数据,我们的客户详细信息和机制.

javascript中的注释只是简单地解释了javascript文件中的方法.哪个读JS的人都可以找到.

这如何显示" 信息泄露 "?

javascript中的评论是否真的存在安全隐患?

Kon*_*rak 16

根据审核的严格程度,下载图像等而无需认证可能会被视为安全风险(想想图表,图表,图表......).

删除javascript中的注释就像混淆代码一样:它使得它变得更难,但仍然不是不可能理解正在发生的事情.JavaScript应被视为仅增强 - 无论如何,所有安全性应该在服务器端(重复).任何人都明白JS的作用不应该被视为风险.


Pau*_*her 15

这取决于评论的内容.因为没有人工干预,没有办法检查评论的内容以确定它们是否有风险,所以审核这个问题的最有效方法是在面向客户的源代码中声明所有注释都是有风险的.

以下是潜在风险评论的示例.

// doesn't really authenticate, placeholder for when we implement it.
myServer.authenticate(user,pass);
Run Code Online (Sandbox Code Playgroud)

要么

// don't forget to include the length, 
//the server complains if it gets NaN or undefined.
function send_stuff(stuff, length) {
...
}
Run Code Online (Sandbox Code Playgroud)

要么

function doSomething() {
    querystring = ""
    //querystring = "?TRACING_MODE=true&"
    ...
    //print_server_trace();
}
Run Code Online (Sandbox Code Playgroud)

另一个例子可能是如果你包含一个源代码历史标题,有人可能会通过检查已修复的错误种类找到一些安全漏洞.至少,如果一个破解者知道哪些攻击媒介已经被关闭,他就可以更好地瞄准他的攻击.

现在,所有这些示例都是不好的做法(评论和代码),防止它的最好方法是通过代码审查和优秀的程序员.第一个例子特别糟糕,但是对你的队友的无辜警告,比如第二个例子,或者注释掉的调试代码,比如第三个例子,是可能漏网的安全漏洞.


Ken*_*Dev 5

在不考虑它们是否存在安全风险的情况下,在生产环境中缩小您的 JS,这将防止“信息泄漏”并有助于(至少在某种程度上)保护您网站的信息。

关于安全风险,我认为JS注释根本没有风险,每个网站内容(静态)都可以不经认证下载。(除非另有定义)


Tho*_*mas 5

如果他们只揭示代码的工作方式,则不会。无论如何,任何足够坚定的人都可以发现这一点。

也就是说,缩小 JavaScript 可能是个好主意;不是因为安全,而是因为它会减少下载时间,从而使您的网站响应速度更快。