java - 针对 XML 外部实体注入(inject)的 Fortify 修复

标签 java fortify xxe

当我使用 fortify 工具进行扫描时,我在“XML 外部实体注入(inject)”下遇到了一些问题。

TransformerFactory trfactory = TransformerFactory.newInstance(); 

这是显示错误的地方。我已经按照 fortify 的建议进行了以下修复

trfactory.setFeature("http://xml.org/sax/features/external-general-entities", false); 
trfactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); 

但问题仍未解决。如何解决这个问题?

最佳答案

TransformerFactory trfactory = TransformerFactory.newInstance();
trfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");

这就足够了。

关于java - 针对 XML 外部实体注入(inject)的 Fortify 修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247243/

相关文章:

java - 解析 XML 时如何禁用 XInclude?

java - 如何让 .jar 识别和使用捆绑的 log4j.xml 文件?

java - RxJava - Just vs From

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 无法解决 Log Forging Fortify 问题

java - XXE billion laughs 攻击似乎没有像 Sonar 推荐的防止 XXE 攻击的解决方案预期的那样得到缓解

使用类路径的 Java Util 日志记录级别

java - 如何使用 FORTIFY 的 fpr 文件通过 Maven 生成 pdf 报告

security - 如何修复某些 Java 代码中的 "Path Manipulation Vulnerability"?

javascript - Javascript 中的 XXE 漏洞