在一次SRC挖掘中,之前有人对这个站Getshell,再次测试中碰见Axis2无法登录,网上Getshell方法都是基于1.6.2版本getshell,在高版本axis2中, service.xml 配置发生了变化,利用了URL解析错误,同时修改 aar包 service.xml 文件 最终成功RCE。
url解析特性:https://xz.aliyun.com/t/10799
使用burp替换功能.
替换之前访问如下:
替换之后。
然后使用弱口令进行登录.
admin axis2
从Github下载一个 https://github.com/Lexus89/AxisInvoker/blob/master/build/AxisInvoker.aar
axis2 webshell
不出意外,提示:
通过查看axis2版本号发现为,
绕过 The ServiceClass object does not implement the required method in the following form: OMElement info(OMElement e) 方法。
插件1.6.2生成的service.xml内容如下:
<service name="HelloServer" > <description> Please Type your service description here </description> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> <parameter name="ServiceClass">com.hongbo.server.HelloServer</parameter> </service>
插件1.7.4生成的service.xml内容如下:
<service name="HelloServer" > <description> Please Type your service description here </description> <messageReceivers> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> <parameter name="ServiceClass">com.hongbo.server.HelloServer</parameter>
</service>
修改 services.xml文件.
成功RCE.
获得奖励: