2011-08-24 97 views
2

有沒有一種方法可以保護Spring-WS應用程序免受XML炸彈襲擊,如果我使用JAXB2 un/marshaler ...以及Xalan 2.7.1和Xerces,儘管我不再知道誰依賴於什麼:) ...Spring-ws XML炸彈保護,任何人?

基本上我想在整個應用程序中禁用DTD作爲模式語言,如果這可以從應用程序上下文xml文件完成,那就太好了!

我猜的另一種選擇將是擴展/實現一些類/接口,並改變一些方法,但我不知道在哪裏春天-WS是解析器先叫....

回答

2

的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); 

更多信息