主題:利用資料庫隱碼(SQL Injection)攻擊取得資料庫架構與相關欄位資料並使用語法變更資料內容
VMWARE 模擬環境:
Hacker:IP:192.168.123.101
工具:SQL Injection工具、SQL語法與指令
Server:IP:192.168.123.100
服務:IIS 5.0、SQL Server 2000、ASP程式
模擬過程:
Hacker 首先在目標Server 192.168.123.100 尋找可以進行資料庫隱碼(SQL Injection)攻擊的網頁,例如:可以輸入帳號密碼或查詢的欄位,並嘗試輸入一些常見的SQL語法字串。
影片中是將正常在[網址列的網頁傳值]複製到[駭客的SQL Injection工具]去找出來使用該程式的資料庫的架構、資料表名稱、欄位名稱。作為組合SQL Injection之SQL語法撰寫的參考。
組合及猜測出欄位名稱後,便進行取得資料庫控制權的行為,輸入SQL Server加入帳號與加入群組的Stored Procedure(該Stored Procedure須具有管理權限在帳號,例如:SA/Administrator才能執行,很不幸該出問題之ASP程式正是使用SA去呼叫SQL Server)來取得資料庫的最大控制權後,於ASP程式上來竄改DB內員工的薪水(影片中是將全部員工薪水異動為99999元)
防治手段:
- 修正與修改ASP程式呼叫資料庫的方式。
- 修正與修改ADO Connection不要使用SA這個DB最高使用權帳號來呼叫DB。
- DB(SQL Server)的資料庫應設定使用及讀取的權限,而只單純做為查詢用的Table也請設定資料表權限。
- 其他預防方法請參閱[如何預防 SQL Injection 攻擊(2/5)]。
- 建置IDS/IDP等多層次資訊安全架構。
特別聲明:
本影片預設都沒有錄製聲音,只有在舉辦研討會中才會有錄製聲音。
此模擬過程為Demo常見之入侵手法,示範及被攻擊主機均為VMWARE模擬機器而非真實主機。
本示範檔並非[教授入侵技巧],相關[駭客工具]及[木馬程式]等檔案請勿詢問及索取。