有风险的地方有两个
1.接口返回xml的格式化操作,SoapFormatAction,但是一般都打了补丁做了处理
实际上还可以在org.apache.xalan.transformer.TransformerIdentityImpl里解析之前加上下面代码也可以防止注入
2.调用接口时,一般来说如果服务是由home里startup.bat/startup.sh(tomcat)来启动的话是不会有风险的,但如果服务是由was启动,就会存在此风险。估计原因时两种服务容器的类加载方式不一样,据查tomcat的类加载器,不完全遵循“双亲委派”,就是自己先找,找不到了才让父加载器加载,而was应该是先交给父加载器加载。
调用接口时,NC采用的是XMLStreamReader来解析的,而它又是由XMLInputFactory来创建的,然而XMLInputFactory再NC里有三个jar包里都有而且路径一致
如果XMLInputFactory实例化的时候用的是jdk的XMLInputFactoryImpl,那就会有问题,而用的是tika-app里的WstxInputFactory就不会有,
NC ws接口防XXE注入
最新推荐文章于 2024-08-18 18:12:39 发布