我是否应该使用 ESAPI,是否有替代品?
Should I use ESAPI or not, and is there a replacement?
我注意到 ESAPI 大大降低了我的应用程序的速度。我当然喜欢这个想法,但我继承了一个使用它的应用程序,但我不断收到错误。我正在使用 Spring boot 1.5.7 并尽可能多地使用其他依赖项来保持最现代。所以我想知道是否还需要这个?
但经过大量研究,ESAPI 似乎已成定局。我个人一直不明白它应该做什么,除了 OWASP 说这是一件好事。现在我尊重 OWASP 并希望尽可能地保护我的应用程序。
所以我的问题是,在删除 ESAPI 之后,我发现一些使用的代码行是这样的:
ESAPI.encoder().encodeForJavaScript(ControllerHelper.getJavascriptStuff());
我应该用什么来代替?为什么?
这个问题对 SO 来说不是一个好问题,但与此同时,在这一点上几乎任何人都会提出这个问题。所以我会把它标记为社区维基,以后可以迁移到更好的家。
所以核心问题是:
So my question is, after removing ESAPI I have found some lines of
code that use is like this:
ESAPI.encoder().encodeForJavaScript(ControllerHelper.getJavascriptStuff());
What should I use as a replacement? and why?
IF ALL你需要的是一个编码器,使用轻量级OWASP Encoder Project.
但是那个项目不会也给你一个解码器。
为什么 部分。值得维基的部分。
在所有应用程序开发中,程序员有责任确保数据始终被仅视为数据。在您在这里展示的情况下,开发人员使用编码器来确保传递给客户端的数据始终被 JavaScript 解释器视为数据。
如果不这样做 可能 导致用户提交,例如,javascript 代码作为输入,然后您的应用程序转身并将其提供给另一个用户.在最坏的情况下,它可能被用来在公司网络的边界内投放恶意软件文件。
但这里可能还有更多需要担心的地方。 javascript 有效载荷是否会被渲染成 HTML?如果是这样,那么也许应该首先对它进行 HTML 编码。防止 XSS 是一个广泛的话题,你可以开始 here.
StringUtils.escapeJava(str) 有效但未在漏洞中显示。
我注意到 ESAPI 大大降低了我的应用程序的速度。我当然喜欢这个想法,但我继承了一个使用它的应用程序,但我不断收到错误。我正在使用 Spring boot 1.5.7 并尽可能多地使用其他依赖项来保持最现代。所以我想知道是否还需要这个?
但经过大量研究,ESAPI 似乎已成定局。我个人一直不明白它应该做什么,除了 OWASP 说这是一件好事。现在我尊重 OWASP 并希望尽可能地保护我的应用程序。
所以我的问题是,在删除 ESAPI 之后,我发现一些使用的代码行是这样的:
ESAPI.encoder().encodeForJavaScript(ControllerHelper.getJavascriptStuff());
我应该用什么来代替?为什么?
这个问题对 SO 来说不是一个好问题,但与此同时,在这一点上几乎任何人都会提出这个问题。所以我会把它标记为社区维基,以后可以迁移到更好的家。
所以核心问题是:
So my question is, after removing ESAPI I have found some lines of code that use is like this:
ESAPI.encoder().encodeForJavaScript(ControllerHelper.getJavascriptStuff());
What should I use as a replacement? and why?
IF ALL你需要的是一个编码器,使用轻量级OWASP Encoder Project.
但是那个项目不会也给你一个解码器。
为什么 部分。值得维基的部分。
在所有应用程序开发中,程序员有责任确保数据始终被仅视为数据。在您在这里展示的情况下,开发人员使用编码器来确保传递给客户端的数据始终被 JavaScript 解释器视为数据。
如果不这样做 可能 导致用户提交,例如,javascript 代码作为输入,然后您的应用程序转身并将其提供给另一个用户.在最坏的情况下,它可能被用来在公司网络的边界内投放恶意软件文件。
但这里可能还有更多需要担心的地方。 javascript 有效载荷是否会被渲染成 HTML?如果是这样,那么也许应该首先对它进行 HTML 编码。防止 XSS 是一个广泛的话题,你可以开始 here.
StringUtils.escapeJava(str) 有效但未在漏洞中显示。