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 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章