SQL Injection(SQL注入)是存在於應用程式與資料庫的漏洞,
利用惡意SQL代碼注入導致資料庫執行代碼,造成資料的洩漏、破壞‵,或是入侵。
SQL Injection可以算是一個很常見並且非常有名的攻擊手法,
如果你有看過甚麼駭客手法介紹之類的,相信一定會提到SQL Injection,
不僅僅做滲透測試的人,我想就算是網頁開發的人或是寫資料庫的人,
也應該多少都會聽過SQL Injection這個名詞。
或者網路上可能有些鄉野教學說甚麼輸入以下指令可以繞過登入認證
"1' OR '1'='1"
Code language: JSON / JSON with Comments (json)
像這個其實就是一個經典的SQL Injection例子,
也是利用SQL指令去騙過驗證機制繞過認證登入,當然也是要存在這個漏洞才行。
(惡意的指令注入也會跟開發者寫法、不同的SQL資料庫系統有差異)
今天介紹的sqlmap是套很強大的SQL Injection工具,
可用來檢測與利用SQL Injection漏洞,在Kali Linux中有內建安裝,
在Kali中其實有很多關於SQL Injection的工具,
但是沒有一套像是sqlmap這麼知名強大,大概可稱得上sql攻擊界的法拉利。
sqlmap是open source工具,利用命令列模式執行,
但是其實語法不複雜(不過要複雜也可以很複雜XD),
通常有存在sql漏洞的網頁都可以利用sqlmap打成功。
(並非全部,但多數都可以。)
聽起來很猛,不過存在SQL Injection漏洞的網站其實極少,
首先這本身就是一個相當知名的漏洞,大家都知道要防它,
再來就是它算是一個嚴重漏洞,如果資料庫內容被撈出來,
常常是可以看到很多很精彩的東西,
譬如像是整個網站使用者的帳號密碼…@@!
同場加映:
SQL Injection工具還有很多,
如果有興趣有可以試試看別的,
說不定會找到你覺得更好的或是更適合的。
像是Havij、BSQL Hacker、sqlninja、BBQSQL等等。
本文為作者參與第 11 屆 iT 邦幫忙鐵人賽的文章
原文連結 https://ithelp.ithome.com.tw/users/20114110/ironman/2536