WEB中间件——axis2+tomcat的个人理解

前言:  

 借着朋克实验室的某个靶机,系统的学习一下axis中的SOAP及WSDL和Tomcat。

  • SOAP:Simple Object Access Protocol
  • WSDL:Web Services Description Language

wsdl文档部分(仅供参考):

<definitions>

<types>
   definition of types........
数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)
</types>

<message>
   definition of a message....
通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。
</message>

<portType>
   definition of a port.......
对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。
</portType>

<binding>
   definition of a binding....
特定端口类型的具体协议和数据格式规范的绑定。
</binding>

<service>
相关服务访问点的集合。
</servie>
</definitions>

    WSDL说白了其实就是将webSevice打包后deploy,工程里面的某个类的某个方法可以不用实例化,通过某种映射关系将方法映射到WSDL中,通过URL即可传递参数并调用方法,其实就是一个接口。一般AXIS需部署jar或aar包,tomcat部署war包。

Pentester Lab Axis2 Web service and Tomcat Manager

    此靶机有AXIS2的webService及Tomcat服务,下面分别在axis2服务与tomcat管理后台上分别部署服务拿到权限。

    tomcat部署war包:

    发现tomcat管理页面:

    使用metasploit进行爆破未果,如果能读取到tomcat-users.xml文件就能得到用户名与密码了。访问axis服务,发现有ProxyService服务:

    此service有敏感信息泄露漏洞,查看此服务接口文档:

    发现此服务接口方法名为get,参数为uri,返回类型为string类型。使用此接口读取tomcat配置文件/etc/tomcat6/tomcat-users.xml。

     登录Tomcat管理后台:

     上传war包后查看application发现部署的test应用:

    注:从上面可以看到axis2也是Tomcat的一个webService,也是部署后的应用。

     可以看到我们部署的test应用中的shell.jsp解析,获得webshell:

 

    axis2部署aar服务: 

    axis2服务的几个特殊路径:URL/axis2/    URL/axis2/axis2-admin/    URL/axis2/services/  默认凭证:admin/axis2

    使用默认用户名密码登录:

     在部署接口服务处上传aar包,包含各种类及方法作为接口。此处上传编写好的接口。

    可以看到上传成功, 点击查看可用的接口服务:

    可以看到可用的Cat接口及其内部的方法名。进一步查看Cat接口的接口说明文档或者是映射文档wsdl,以exec命令执行接口为例:

    可以看到此接口名为exec,参数为字符串型的cmd,返回类型为字符串类型,直接在URL中利用映射关系调用接口即可,请求接口方式如下:

     可以选择反弹shell等后续操作。。。

总结:

  • axis2是Tomcat的一个webService,是一个application而已,是在webapp部署后的。
  • Tomcat管理后台用户名密码在/conf/tomcat-users.xml文件中,登陆后可部署war包。
  • axis2管理后台可部署aar包,其实axis2就是部署在Tomcat中的一个无须实例化即可随时运行类中方法的、管理接口的应用。可部署接口,可调用接口,而调用的接口是提前写好的service打包成aar或jar后通过axis2上传的。
  • axis2特殊路径:URL/axis2/    URL/axis2/axis2-admin/    URL/axis2/services/   /conf/axis2.xml(密码) URL/axis2/services/listServices(此请求返回无需登录情况下的,axis2应用的所有接口名及方法,可以直接?wsdl查看接口文档,一般可以当作盲测。)
  • 打包war包:jar -cvf xxx.war *  解包:jar -xvf xxx.war 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值