Spring-ws XML炸弹保护,有人吗?

时间:2011-08-24 19:07:55

标签: java xml web-services spring-ws

有没有办法保护Spring-WS应用程序免受XML炸弹攻击,如果我使用JAXB2 un / marshaler ...以及Xalan 2.7.1和Xerces,虽然我不再知道谁又依赖于什么:) ..

基本上我想在整个应用程序中禁用DTD作为模式语言,如果可以从app context xml文件中完成,那就太棒了!

我想另一种选择是扩展/实现一些类/接口,并改变一些方法,但我不知道Spring-WS首先调用解析器的位置....

1 个答案:

答案 0 :(得分:3)

Java解析器通常内置受实体扩展攻击保护的内容:

SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
XMLReader xmlReader = spf.newSAXParser().getXMLReader();
InputSource inputSource = new InputSource(new FileReader("input.xml"));
SAXSource source = new SAXSource(xmlReader, inputSource);

了解更多信息