问题标签 [esapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3813 浏览

classloader - 类加载器寻找错误的包类

我在 tomcat 服务器上有两个应用程序(比如 App1 和 App2)。两者都在 C:\Tomcat7_0_29\webapps\AppX\WEB-INF\lib 文件夹中有 ESAPI-2.0-rc5.jar。App2 使用 opensaml-2.6.0.jar(在 C:\Tomcat7_0_29\webapps\App2\WEB-INF\lib 文件夹内)来满足 SAML 的需求。

现在,每次我尝试在App1中编码字段数据时, 都会 java.lang.ClassNotFoundException: org.opensaml.ESAPISecurityConfig 出错。尝试了很多选择,但从来没有一起工作。请帮忙

全栈跟踪:

0 投票
0 回答
276 浏览

xss - 如何过滤 json 响应中的 html 以保护您的应用程序的 xss?

如何过滤 json 响应中的 html 以保护您的应用程序的 xss?

我们有一个应用程序,我们在其中发送 html 作为响应,那么如何转义这个 html 以显示以及如何防止执行 HTML 标记作为响应。

0 投票
1 回答
1513 浏览

java - 来自数据库的 ESAPI 验证属性

有没有办法让 ESAPI 从数据库表中读取验证属性,而不是使用默认的 validation.properties 文件?

0 投票
1 回答
4046 浏览

java - Java Jersey REST 请求参数清理

我正在尝试确保我的 Jersey 请求参数已被清理。

处理 Jersey GET 请求时,是否需要过滤非 String 类型?
例如,如果提交的参数是整数,选项 1 (getIntData) 和选项 2 (getStringData) 黑客安全吗?JSON PUT 请求怎么样,我的 ESAPI 实现是否足够,或者我是否需要在映射后验证每个数据参数?可以在映射之前对其进行验证吗?

泽西休息示例类:

数据映射类:

0 投票
2 回答
3292 浏览

java - 使用 OWASP ESAPI 时是否需要启用规范化?

我们正在将 ESAPI 2.x(owasp java 安全库)添加到应用程序中。

更改很容易,但非常重复。我们正在为所有输入参数添加验证,因此我们确保组成它们的所有字符都在白名单内。

就是这个:

然后在 validation.properties 文件中设置电子邮件模式,例如:

简单的!

鉴于在输入验证之后,数据变得可信,我们不会对输出进行编码。

我可以在 ESAPI 中看到它有一个标志来规范化输入字符串。我知道规范化是“反编码”,因此任何编码的字符串都会转换为纯文本。

问题是。为什么我们需要规范化?

任何人都可以展示使用规范化可以防止的攻击样本吗?(在Java中)

谢谢你!

0 投票
0 回答
780 浏览

spring - AccessReferenceMap 的问题

我正在使用 OWASP 的 AccessReferenceMap 来保护我在 URL 中的 ID。问题是当要混淆的 ID 列表与特定客户相关时。这是我的配置:

实体访问地图:

访问地图:

超链接映射:

所以,我想要实现的是:tracksAccessMap 应该只填充客户的相关 id,而不是整套。如何在客户登录(并设置 customerId 会话属性)后初始化所有这些 bean?

编辑 1:附加代码:

轨道控制器:

centerColTracks.jsp

hyperlinkMapping.getTrackId(item) 应该只返回与登录的客户相关的 trackId(取自 AccessReferenceMap)。换句话说 - hyperlinkMapping 应该在登录后立即实例化。

我有两个想法如何做到这一点:1.带有返回后建议的AOP,或者2.使用SimpleUrlAuthenticationSuccessHandler,我可以在登录后实例化HyperlinkMapping。或者我可以将它与当前的实现一起使用,而我只是忘记了一些东西?

0 投票
1 回答
1960 浏览

java - 使用 ESAPI 防止基于 DOM 的 XSS

根据 OWASP,要在 DOM 中安全地动态更新 HTML,我们建议

  1. HTML 编码,然后
  2. JavaScript 编码所有不受信任的输入,如以下示例所示: element.innerHTML = “<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”;

有一个 Web 应用程序,其中 servlet 接收用户输入(作为 AJAX 请求接收),处理数据并发送文本响应,该响应用于通过设置元素的值(使用document.getElementById("elementID").innerHTML = data;)动态更改 DOM。

为了防止基于 DOM 的 XSS,需要使用 ESAPI 编码器来转义 HTML 和 JavaScript

;

或者将未编码的字符串写入流是否安全

0 投票
2 回答
33 浏览

xss - 没有文本字段和文本区域的网页是否对 XSS 免疫?

如果网页包含用于用户输入的下拉菜单、单选按钮、复选框等,并避免使用文本字段和文本区域来规避不受信任的数据(用户输入的恶意 javascript)。这样的网页对 XSS 免疫吗?如果不是如何使用 ESAPI 保护这样的应用程序。

0 投票
1 回答
9117 浏览

xss - 在 javascript 中使用 ESAPI 处理 HTML 和 Javascript 编码数据

如果 ESAPI,Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))在向客户端发送响应之前对 html 内容执行 HTML 和 Javascript 编码以防止 XSS(使用 )。如何在 javascript 中处理这些 HTML 和 Javascript 编码数据?

在 element.innerHTML 中使用服务器输出之前,我是否必须规范化数据。

例如,

但是使用混合或多重编码规范化数据将引发异常(入侵异常)。

0 投票
1 回答
3769 浏览

java - 使用 ESAPI 编码器编码 JSON

我在服务器端对 JSON 进行了编码(使用 ESAPI 编码器)。客户端然后检索 bean 的字段并进行进一步处理。

在服务器端

编码的 JSON 字符串

\x7B\x22name\x22\x3A\x22Sameer\x22,\x22company\x22\x3A\x22Company\x22,\x22designation\x22\x3A\x22Developer\x22\x7D

在客户端

我也尝试过使用 response.setContentType("plain/text"); 在服务器端也不起作用。

错误

SyntaxError:JSON.parse:当内容类型为“纯文本”时,JSON 数据的第 1 行第 1 列出现意外字符

如果我对json字符串进行硬编码,那么它可以工作