利用SQL語法可以串連的特性,串連惡意的SQL語法執行新增、修改紀錄內容、或是刪除資料表的攻擊動作,意圖危害網站的正常作業。
常見在可以「輸入資料」的網頁最容易受到SQL Injection攻擊。
可分成2種方式:
- 透過網頁上的 TextBox控制項輸入資料
- 直接從IE的URL網址列輸入資料
常見SQL Injection攻擊語法:
- ‘;or 1=1 --
- ‘;insert into members(username,password) values(‘hacker’,’1234’) --
- ‘;drop table members
- ‘;exec master..xp_cmdshell “net user name password /add” --
- ‘;backup database 資料庫名稱 to disk=“c:\inetpub\wwwroot\123.bak” --
相關連結:
SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲
http://www.microsoft.com/taiwan/sql/SQL_Injection_G1.htm
http://www.microsoft.com/taiwan/sql/SQL_Injection_G2.htm
資料隱碼SQL Injection 的因應與防範之道
http://www.microsoft.com/taiwan/sql/SQL_Injection.htm
ASCII碼對照表
http://www.lookuptables.com
SQL Injection 檢測工具(無殺傷力)
http://www.databasesecurity.com/sqlinjection-tools.htm