添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Axis1.4漏洞,Caused by: org.apache.axis.AxisFault: java.util.ConcurrentModificationException
最新推荐文章于 2024-01-24 10:00:00 发布
最新推荐文章于 2024-01-24 10:00:00 发布 阅读量 2k

Axis1.4漏洞,Caused by: org.apache.axis.AxisFault: java.util.ConcurrentModificationException

Caused by: org.apache.axis.AxisFault: java.util.ConcurrentModificationException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:223) ~[axis-1.4.jar:na]
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:130) ~[axis-1.4.jar:na]
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1104) ~[axis-1.4.jar:na]
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) ~[na:na]
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) ~[na:na]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl FragmentContentDispatcher.dispatch(Unknown Source) ~[na:na] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[na:na] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[na:na] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[na:na] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[na:na] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) ~[na:na] at org.apache.xerces.jaxp.SAXParserImpl F r a g m e n t C o n t e n t D i s p a t c h e r . d i s p a t c h ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . i m p l . X M L D o c u m e n t F r a g m e n t S c a n n e r I m p l . s c a n D o c u m e n t ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . p a r s e r s . X M L 1 1 C o n f i g u r a t i o n . p a r s e ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . p a r s e r s . X M L 1 1 C o n f i g u r a t i o n . p a r s e ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . p a r s e r s . X M L P a r s e r . p a r s e ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . p a r s e r s . A b s t r a c t S A X P a r s e r . p a r s e ( U n k n o w n S o u r c e ) [ n a : n a ] a t o r g . a p a c h e . x e r c e s . j a x p . S A X P a r s e r I m p l JAXPSAXParser.parse(Unknown Source) ~[na:na]
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:241) ~[axis-1.4.jar:na]
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) ~[axis-1.4.jar:na]
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) ~[axis-1.4.jar:na]
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) ~[axis-1.4.jar:na]
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) ~[axis-1.4.jar:na]
at org.apache.axis.client.Call.invokeEngine(Call.java:2782) ~[axis-1.4.jar:na]
at org.apache.axis.client.Call.invoke(Call.java:2765) ~[axis-1.4.jar:na]
at org.apache.axis.client.Call.invoke(Call.java:2443) ~[axis-1.4.jar:na]
at org.apache.axis.client.Call.invoke(Call.java:2366) ~[axis-1.4.jar:na]
at org.apache.axis.client.Call.invoke(Call.java:1812) ~[axis-1.4.jar:na]

如上所示的异常,偶发的,重试又是正常的。

经网上查找,发现是axis1.4版本的自身代码的问题,只有在JDK1.8且高并发的情况下偶发

1、把JDK降到1.7
2、有个内部的1.4.1的版本,没有正式发布的,可以去自己去找源码打包;
3、修改有问题的代码,重编译,替换jar里面的class (推荐)

第三种方案的新的JAR这里不能上传附件,所以放到GIT上了,可以自行下载,我测试了是没有问题的,不放心的可以参看最下面的问题原链接,按照上面描述的自行编译替换
https://github.com/nishiergouma/jar/blob/main/axis-1.4.jar

问题详细链接:
https://stackoverflow.com/questions/52218759/axis-client-1-4-with-jdk-8-gives-org-apache-axis-axisfault-java-util-concurrent

部署一个webservice ,webservice开启一个写文件服务。这里我们要写入的文件名是../webapps/ROOT/shell.jsp,服务模块的工作路径是bin目录,这里利用相对路径写入ROOT目录,也就是tom cat 默认根目录。 / axis /services/AdminService HTTP/1.1 Host: localhost:8080 Connect ion : close Accept: text/html,appli cat ion /xhtml+xml,appli cat ion /xml;q=0.9,*/* Axis 1.4 freemarker 下载 Axis 1.4 版本将 Axis 放到tom cat 的webapp目录中。freemarker. jar 放到 Axis 的 lib目录下。运行tom cat 即可。 WEB-INF/web.xml 中将该配置取消注释 AdminServlet /servlet/AdminServlet 原创复现需要将/WEB-INF下面的server-config.wsdd文件中的内容进行编辑一下 [图片](https://img-一、 漏洞 介绍 漏洞 本质是管理员对AdminService的配置错误。当enableRemoteAdmin属性设置为true时,攻击者可以构造调用freemarker组件中的template.utility.Execute类,远程利用AdminService接口进行WebService发布,再次访问生成的WebService接口,传入要执行的命令,就可以进行远程命令执行 漏洞 的利用。 Axis 1.4 依赖的 jar 包Maven配置文件<!-- axis 1.4 jar start --> <dependency> <groupId> org . apache . axis </groupId> <artifactId> axis </artifactId> <vers ion > 1.4 </vers ion > 在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出 java.util.Concurrent Modifi cat ion Exception 异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 1、异常出现的原因 先看下面这段代码: public class Test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList Apache Axis 1.4 RCE CVE-2019-0227 漏洞 复现 漏洞 产生原因: Axis 1.4 adminservice开启远程访问,此时攻击者可通过services/AdminService 服务 部署一个webservice ,webservice开启一个写文件服务 影响范围: Axis <= 1.4 且enableRemoteAdmin设置为True 环境搭建:tom cat 8.5+ apache Axis 1.4 apache Axis 1.4 下的webapps/ axis 包放到tom <br />上面三章做了通过WSDL文件生成 java code的WebService服务器端和客户端例子。下面我们来做通过WSS4J对WebService的加密。<br /> <br />1.下载wss4j. jar 还是自己用google去找来下载。<br />2.把wss4j. jar 放到VacSyncService_WSS4J工程的 /WebContent/WEB-INF/lib 下。 可能提VacSyncService_WSS4J工程有点晕,其实这个就是前面我们使用的VacSyncService工程改 API.dll已退出,代码为 5。请验证您是否有足够的权限来运行此命令 以上为编译他人程序过程中出现的问题,对应英文为: exited with code 5 . Please verify that you have sufficient rights to run this command 这个是stackoverflow上的相关问题以及解决方式stackoverflow 第一个回答 <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Do