一、概述
1. 攻擊原理
SQL注入
是較常見的網(wǎng)絡(luò)攻擊方式之一,主要針對WEB
應(yīng)用,利用程序員編寫代碼的疏忽,對于連接數(shù)據(jù)庫的應(yīng)用,通過重組SQL
語句,使服務(wù)器執(zhí)行惡意SQL
代碼,從而獲取到非授權(quán)的權(quán)限和資料。京東 16年12月10日 泄露12G用戶賬號信息。SQL注入
在OWASP2013
、2017
中排名都是在首位。
(推薦課程:SQL教程)
2. 如何判斷有沒有SQL注入漏洞
(1) 單引號判斷
針對get
請求帶整數(shù)參數(shù)的,請求參數(shù):?id=1'
,如果頁面報SQL運(yùn)行錯誤,則可能存在SQL注入。
(2) 數(shù)字型判斷
有缺陷的代碼語句:
select * from table where id=3
如果提交參數(shù)?id= x and 1=1
構(gòu)造成如下SQL
:
select * from table where id=1 and 1=2
如果頁面報SQL
運(yùn)行錯誤,則可能存在SQL注入
。
(3) 字符型判斷
有缺陷的代碼語句:
select * from table where id='x'
如果提交參數(shù)?id=x' and '1'='1
構(gòu)造如下SQL
:
select * from table where id= 'x' and '1'='1'
如果頁面報SQL
運(yùn)行錯誤,則可能存在 SQL注入
。
2. 應(yīng)對方案
- 不信任用戶的輸入
- 輸入字符串過濾
- 字符轉(zhuǎn)義
- 避免用拼接字符串、組合成SQL語句的方式來執(zhí)行SQL
- 不要使用管理員權(quán)限連接數(shù)據(jù)庫,數(shù)據(jù)庫訪問權(quán)限設(shè)置最小化
- 機(jī)密信息加密或進(jìn)行哈希處理
- 程序異常時對錯誤進(jìn)行捕獲,避免原生錯誤返回給用戶
(推薦微課:SQL微課)
二、覺見的SQL注入掃描工具
1. SQLIer
(1) 開源地址
github.com/BCable/sqlier
(2) 獲取信息
./sqlier.sh -s 10 網(wǎng)址
(3) 參數(shù)
-c [host]
清除站點信息.-o [file]
輸出破解的密碼.-s [seconds]
每個請求間隔時間.-u [usernames]
暴力破解猜測用戶名,用逗號隔開.-w [options]
wget參數(shù).
(4) 猜測表名字段
--table-names [table_names]
猜測表名,用逗號隔開。--user-fields [user_fields]
猜測用戶名字段,逗號隔開。--pass-fields [pass_fields]
猜測密碼字段,逗號隔開。
2. SQLmap
一款用來檢測與利用SQL注入漏洞的工具。
安裝:
pip install sqlmap
SQL注入點
可以提交SQL語句地方就是SQL注入點。想進(jìn)入SQL注入,先找到SQL注入點。
python sqlmap.py -u "http://test/test.aspx?id=123"
3. jSky
國內(nèi)深圳宇造諾賽公司出品的一款WEB漏洞掃描工具,收費(fèi)軟件。
4. Pangolin(穿山甲)
也是宇造諾賽的產(chǎn)品,專門進(jìn)行SQL注入掃描。
5. iiscan 億思
在線免費(fèi)的網(wǎng)站漏洞檢測平臺,可以檢測SQL注入漏洞、跨站漏洞等。
6. MDCSOFT WEB應(yīng)用防火墻
集WEB防護(hù)、網(wǎng)頁保護(hù)、負(fù)載均衡、應(yīng)用交付一體的WEB整體安全防護(hù)設(shè)備。
7. 其它工具
啊d注入工具 阿里云在線漏洞掃描
以上就是關(guān)于常用的攻擊手段--SQL注入的相關(guān)介紹了,希望對大家有所幫助。