- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 jaxrs 服务,不幸的是执行了原始查询,没有准备好的语句。我们使用 ESAPI 来缓解 XSS、SQLI。如下所示:
private String mitigateSQLI(String value) {
Encoder instance = ESAPI.encoder();
Codec c = new MySQLCodec(MySQLCodec.Mode.ANSI);
return instance.encodeForSQL(c, value);
}
private String mitigateXSS(String value) {
if (value == null)
return null;
// Use the ESAPI library to avoid encoded attacks.
value = ESAPI.encoder().canonicalize(value);
// Avoid null characters
value = value.replaceAll("\0", "");
// Clean out HTML
Document.OutputSettings outputSettings = new Document.OutputSettings();
outputSettings.escapeMode(EscapeMode.xhtml);
outputSettings.prettyPrint(false);
value = Jsoup.clean(value, "", Whitelist.none(), outputSettings);
return value;
}
以及具有默认配置的 ESAPI.properties 文件。
我们仍然在某些场景中面临 SQLI,知道查询是连接和形成的。
想知道是否有最好的方法/配置来缓解这些问题。 Way 可以是 ESAPI 属性或这些 ESAPI 可用方法。
最佳答案
不要逃避其他选择。正如 OWASP 中粗体引用的那样
主要防御:
额外防御:
根据应用程序需求配置 ESAPI.properties 非常重要。当不使用准备好的语句时,您必须在服务器端转义输入。对于 Java,Apache 的 StringEscapeUtils 可以完成这项工作。
关于java - 配置 esapi 缓解 XSS SQLI {GET/POST data} 的完美方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57611710/
我在我的项目中使用ESAPI,并将ESAPI配置目录添加到src/main/resources,因此它被复制到我的WAR文件中(我从cloudbees下载了WAR,我可以看到它被放在 WEB-INF/
我一直在尝试评估 OWASP ESAPI 库,但在正确初始化它时遇到了问题。我为 ESAPI.properties 和 validation.properties 设置了一个资源文件夹,这些文件夹是从
我已经有了 problems with the esapi , 但最后它奏效了... 我像这样在我的 pom.xml 中包含了 OWASP ESAPI org.owasp.esapi
我们在 Spring Web 应用程序中添加了一个过滤器,用于检查所有传入请求是否存在可能导致 XSS 漏洞的内容。但是,当它尝试写入日志时,我们得到以下堆栈跟踪: com.blah.blah.web
我尝试使用 esapi 库的 getValidSafeHtml () 函数,但出现以下异常 org.owasp.esapi.errors.ConfigurationException : Couldn
我正在使用 ESPAI 在 Java 中预防 SQLInjection。我只使用 ESAPI.encoder().encodeForSQL(ORACLE_CODEC,queryparam)) 方法。
我知道,我们可以使用encodeForHTML来处理HTMl,使用encodeForJavascript来处理javaScript。我的代码中有一个跨站点脚本:“Reflected fortify s
在将这个问题标记为重复之前,让我告诉你这个问题有点不同。 我在 NetBeans 上有一个包含三个模块的项目,即 -ejb、-ear 和 -web。我目前正在开发 -web 模块,直到昨晚一切正常,我
我是新手 Java 开发人员,在尝试使用 JBOSS 和 ESAPI 开发一些网站以确保安全时出现异常 java.lang.ClassCastException: org.jboss.logmanag
我的一个 REST API 有一个名为“partners”的查询参数,它是一个整数列表,因此您可以在 URL 中指定多个值。作为 XSS 攻击的预防措施,我使用 ESAPI 去除了输入中的恶意内容。这
我们有几个 webapps 需要 ESAPI java 库提供的功能。我和我的同事处于两难境地,是直接使用 ESAPI 从而直接依赖 ESAPI,还是创建一个接口(interface)来抽象对 ESA
我是一名 Java 开发人员,正朝着通往应用安全的道路前进,我偶然发现了 OWASP 组织及其配套的 Java API,即 ESAPI。 在我几个月前在此网站上提出的另一个问题中,有人向我指出 ESA
我正在尝试将 ESAPI 编码器与我的 JavaEE 应用程序合并,并希望它不对特定字符集进行编码,例如“<”、“!”、“(”、“)”。 我阅读了文档 https://static.javadoc.i
我试图通过对来自 UI 的内容进行编码来将数据保存到数据库,但是当尝试这样做时 ESAPI.encoder().encodeForXML(encodingContent goes here) 当执行此
我构建了一个 ESAPITestValidator 类,如下所示: public class ESAPITestValidator { Validator instance = ESAPI.valid
为了防止 SQL 注入(inject),OWASP对收到的字符进行编码。下面是 org.owasp.esapi.codecs.OracleCodec.java 类实现的代码 //Default im
我无法使用 ESAPI 类下的 of 方法 java.lang.String getValidInput(java.lang.String context,
在使用 OWASP 的 ESAPI 时,我发现自己陷入了这一特定代码行。 private static String customDirectory = System.getProperty("org
String safeOutput = ESAPI.encoder().encodeForHTML(request.getParameter("temp")); 上面不起作用,它没有验证。 (插入所有
我们有一个接受用户 URL 的应用程序。此数据需要验证,为此我们正在使用 ESAPI。但是,我们在处理包含 & 符号的 URL 时遇到了困难。 当 ESAPI 在验证之前对数据进行规范化时,就会出现问
我是一名优秀的程序员,十分优秀!