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

前言:  

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

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

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




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



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



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



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



相关服务访问点的集合。

    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管理页面:

WEB中间件——axis2+tomcat的个人理解_第1张图片

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

WEB中间件——axis2+tomcat的个人理解_第2张图片

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

WEB中间件——axis2+tomcat的个人理解_第3张图片

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

WEB中间件——axis2+tomcat的个人理解_第4张图片

     登录Tomcat管理后台:

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

WEB中间件——axis2+tomcat的个人理解_第5张图片

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

WEB中间件——axis2+tomcat的个人理解_第6张图片

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

WEB中间件——axis2+tomcat的个人理解_第7张图片

 

    axis2部署aar服务: 

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

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

WEB中间件——axis2+tomcat的个人理解_第8张图片

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

WEB中间件——axis2+tomcat的个人理解_第9张图片

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

WEB中间件——axis2+tomcat的个人理解_第10张图片

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

WEB中间件——axis2+tomcat的个人理解_第11张图片

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

WEB中间件——axis2+tomcat的个人理解_第12张图片

     可以选择反弹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 

你可能感兴趣的:(web安全)