我实现了spring security saml并且工作得很好但是当InfoSec团队正在进行动态扫描时,他们发现了一个安全漏洞。这个saml断言网址可以使用' XML Bomb'导致DoS。
为了解决这个问题,我想通过代码并知道opensaml正在使用StaticBasicParserPool来使用saml消息并且有更多的研究,我设置disallow-doctype-decl是真的。 因此我建议我们应该在securityContext.xml中默认将disallow-doctype-decl设置为true以帮助其他人,以便他们不会像我一样解决这个问题!
<bean id="parserPool" class="org.opensaml.xml.parse.StaticBasicParserPool" init-method="initialize">
<property name="builderFeatures">
<map>
<entry key="http://apache.org/xml/features/disallow-doctype-decl" value="true"/>
</map>
</property>
</bean>