在我的 Web 应用程序中显示所有 JavaScript 函数是否危险?

信息安全 Web应用程序
2021-08-27 18:33:15

现在我正在开发一个 Web 应用程序,它使用了很多 JavaScript 函数,所以我把它们都放在不同的 JS 文件中以便从 HTML 访问,但是这些函数是“易于阅读”的,所以攻击者知道发生了什么继续申请。

我的问题是,攻击者知道所有 JavaScript 函数和所有 CSS 样式(效果)是否危险?如果这是真的,是否有一个好的解决方案?

我知道我可以缩小 JavaScript 但无论如何这只会让黑客生气......

3个回答

更直接地说:

攻击者知道所有 JavaScript 函数和所有 CSS 样式(效果)是否危险?

不,攻击者看到 JS 和 CSS本身并不危险。毕竟,攻击者或任何其他客户端必须能够看到这些文件才能让应用程序正常工作!

您的工作是设计您的应用程序,以使对 HTML、CSS 和 Javascript 代码具有完全访问权限的攻击者仍然无法执行攻击(无论是对服务器的攻击,还是“客户端”利用像跨站点请求伪造)。当然,说起来容易做起来难,但这就是目标。

实际上,良好的安全性意味着设计您的应用程序,使对 HTML、CSS、JS、服务器端脚本、Web 服务器源代码和系统配置具有完全(只读)访问权限的攻击者仍然无法拉取攻击。一般来说,攻击者可以访问所有这些东西。但在实践中,你可以采取措施隐藏服务器端的配置和源代码,它会减慢一些没有足够决心的人。您不能隐藏 HTML/CSS/JS 并仍然期望 Web 应用程序正常工作。

如果攻击者实际上可以通过随便浏览提供给他们的文件的内容来做一些恶意的事情,那么你遇到的问题不仅仅是易于阅读的文件。

在我看来,您应该拥有比默默无闻的安全性更强大的东西。如果你确实想让你的 js 更难阅读,你可以尝试 minfying 和模糊它。

取决于您如何处理 ajax 请求。如果您有一个操纵数据库的 ajax 函数,并且它被编程为“任何人对它说的任何事情”,那么它就是一个安全漏洞,因为任何人都可以告诉 ajax 函数做任何事情!您有责任检查谁下订单或订单是否有效。混淆代码并不能解决任何问题。人们仍然可以知道哪个按钮调用哪个功能。攻击者可以轻松找到删除或更新按钮的已处理事件。

此外,您的问题存在缺陷,因为您无法在 Web 应用程序中隐藏 javascript。这根本不是你的选择。任何访问您页面的人都可以访问所有链接的 javascript 文件。