问题标签 [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.
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
出错。尝试了很多选择,但从来没有一起工作。请帮忙
全栈跟踪:
xss - 如何过滤 json 响应中的 html 以保护您的应用程序的 xss?
如何过滤 json 响应中的 html 以保护您的应用程序的 xss?
我们有一个应用程序,我们在其中发送 html 作为响应,那么如何转义这个 html 以显示以及如何防止执行 HTML 标记作为响应。
java - 来自数据库的 ESAPI 验证属性
有没有办法让 ESAPI 从数据库表中读取验证属性,而不是使用默认的 validation.properties 文件?
java - Java Jersey REST 请求参数清理
我正在尝试确保我的 Jersey 请求参数已被清理。
处理 Jersey GET 请求时,是否需要过滤非 String 类型?
例如,如果提交的参数是整数,选项 1 (getIntData) 和选项 2 (getStringData) 黑客安全吗?JSON PUT 请求怎么样,我的 ESAPI 实现是否足够,或者我是否需要在映射后验证每个数据参数?可以在映射之前对其进行验证吗?
泽西休息示例类:
数据映射类:
java - 使用 OWASP ESAPI 时是否需要启用规范化?
我们正在将 ESAPI 2.x(owasp java 安全库)添加到应用程序中。
更改很容易,但非常重复。我们正在为所有输入参数添加验证,因此我们确保组成它们的所有字符都在白名单内。
就是这个:
然后在 validation.properties 文件中设置电子邮件模式,例如:
简单的!
鉴于在输入验证之后,数据变得可信,我们不会对输出进行编码。
我可以在 ESAPI 中看到它有一个标志来规范化输入字符串。我知道规范化是“反编码”,因此任何编码的字符串都会转换为纯文本。
问题是。为什么我们需要规范化?
任何人都可以展示使用规范化可以防止的攻击样本吗?(在Java中)
谢谢你!
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。或者我可以将它与当前的实现一起使用,而我只是忘记了一些东西?
java - 使用 ESAPI 防止基于 DOM 的 XSS
根据 OWASP,要在 DOM 中安全地动态更新 HTML,我们建议
- HTML 编码,然后
- JavaScript 编码所有不受信任的输入,如以下示例所示:
element.innerHTML = “<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”;
有一个 Web 应用程序,其中 servlet 接收用户输入(作为 AJAX 请求接收),处理数据并发送文本响应,该响应用于通过设置元素的值(使用document.getElementById("elementID").innerHTML = data;
)动态更改 DOM。
为了防止基于 DOM 的 XSS,需要使用 ESAPI 编码器来转义 HTML 和 JavaScript
;
或者将未编码的字符串写入流是否安全
xss - 没有文本字段和文本区域的网页是否对 XSS 免疫?
如果网页包含用于用户输入的下拉菜单、单选按钮、复选框等,并避免使用文本字段和文本区域来规避不受信任的数据(用户输入的恶意 javascript)。这样的网页对 XSS 免疫吗?如果不是如何使用 ESAPI 保护这样的应用程序。
xss - 在 javascript 中使用 ESAPI 处理 HTML 和 Javascript 编码数据
如果
ESAPI,Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))
在向客户端发送响应之前对 html 内容执行 HTML 和 Javascript 编码以防止 XSS(使用 )。如何在 javascript 中处理这些 HTML 和 Javascript 编码数据?
在 element.innerHTML 中使用服务器输出之前,我是否必须规范化数据。
例如,
但是使用混合或多重编码规范化数据将引发异常(入侵异常)。
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字符串进行硬编码,那么它可以工作