Jump to content

0x00 前言本文將要介紹WebLogic版本探測的兩種方法,通過Python實現自動化,記錄開發細節,開源代碼。

0x01 簡介本文將要介紹以下內容:

實現思路

實現細節

開源代碼

0x02 實現思路探測WebLogic版本的方法有以下兩種:

1.通過Web頁面WebLogic Admin Console默認配置下的URL:http://

在返回結果中能夠獲得WebLogic的版本

這裡需要注意以下問題:

(1)需要區別早期版本

早期版本的返回結果示例:

目前常用版本的返回結果示例:

WebLogic Server Version: 14.1.1.0.0

(2)WebLogic Admin Console對應的路徑和端口可被修改

WebLogic Admin Console可被關閉,也可修改URL,修改方法有以下兩種:

通過瀏覽器訪問WebLogic Admin Console,在Configuration-General-Advanced設置,如下圖

下载.png通過配置文件設置,默認路徑:Oracle_Home\user_projects\domains\base_domain\config\config.xml,內容如下:

微信截图_20230303173426.png

(3)關閉WebLogic Admin Console的情況

如果關閉了WebLogic Admin Console,訪問URL:http://

2.通過T3協議可以使用nmap的腳本weblogic-t3-info.nse,命令示例:

1.png

返回結果示例:

2.png

在原理上是通過建立socket連接,在返回結果中獲得WebLogic的版本

這裡需要注意以下問題:

(1)需要區別早期版本

早期版本的返回結果示例:t3 10.3.6.0\nAS:2048\nHL:19\n\n

目前常用版本的返回結果示例:HELO:12.2.1.3.0.false\nAS:2048\nHL:19\nMS:10000000\nPN:DOMAIN\n\n

(2)存在需要多次發送的情況

存在特殊情況,返回內容為HELO,此時需要重新發送直到返回完整的版本信息

(3)T3協議可被關閉

關閉方法有以下兩種:

通過瀏覽器訪問WebLogic Admin Console,在Security-Filter設置,配置如下:

Connection Filter設置為weblogic.security.net.ConnectionFilterImpl

Connection Filter Rules設置為:

3.png如下圖

下载 (1).png通通過配置文件設置,默認路徑:Oracle_Home\user_projects\domains\base_domain\config\config.xml,內容如下:

4.png

0x03 實現細節綜合以上探測方法,為了適應多種環境,在程序實現上選取了通過HTTP協議和T3協議兩種方法實現

1.通過HTTP協議選擇默認配置下的URL:http://

需要注意以下問題:

(1)第一次訪問時存在一次跳轉

首次啟動WebLogic時,在訪問默認配置下的URL:http://

在返回內容中以字符串Deploying application作為判斷依據

(2)需要區別早期版本

早期版本的返回結果示例:

目前常用版本的返回結果示例:

WebLogic Server Version: 14.1.1.0.0

在腳本實現上優先判斷常用版本,使用正則匹配,如果失敗,再從固定格式

5.png

(3)關閉WebLogic Admin Console的識別

如果關閉了WebLogic Admin Console,訪問URL:http://

完整示例代碼如下:

6.png 7.png

2.通過T3協議發送的socket數據內容為:t3 12.1.2\nAS:2048\nHL:19\n\n

需要注意以下問題:

(1)需要區別早期版本

早期版本的返回結果示例:t3 10.3.6.0\nAS:2048\nHL:19\n\n

目前常用版本的返回結果示例:HELO:12.2.1.3.0.false\nAS:2048\nHL:19\nMS:10000000\nPN:DOMAIN\n\n

為了提高準確性,這裡使用正則提取版本信息,示例代碼:

8.png

(2)存在需要多次發送的情況

存在特殊情況,返回內容為HELO,此時需要重新發送直到返回正確的版本信息

在重新發送的過程中,應關閉整個socket連接,重新初始化發送數據

(3)T3協議可被關閉

如果關閉了T3協議,返回內容示例:

9.png完整示例代碼如下:

10.png 11.png

0x04 開源代碼完整的實現代碼已上傳至github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/WebLogic_GetVersion.py

代碼使用HTTP協議和T3協議探測版本信息

0x05 小結本文介紹了WebLogic版本探測的兩種方法,比較優缺點,選取有效的方法並通過Python實現自動化,記錄開發細節,開源代碼,作為一個很好的學習示例。

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...