用python實現介面測試(五、SQL注入神器sqlmap)
- 2019 年 10 月 10 日
- 筆記
前提
sqlmap是基於python2.x進行開發的,所以要使用sqlmap請先安裝python2,建議安裝python2.7.x系列。Python3.x未嘗試過,有興趣的童鞋可以自己搞
一、sqlmap簡介
1.sqlmap官網:http://sqlmap.org/
2. 什麼是SQL注入
SQL注入是一種程式碼注入技術,過去常常用於攻擊數據驅動性的應用,比如將惡意的SQL程式碼注入到特定欄位用於實施拖庫攻擊等。SQL注入的成功必須藉助應用程式的安全漏洞,例如用戶輸入沒有經過正確地過濾(針對某些特定字元串)或者沒有特彆強調類型的時候,都容易造成異常地執行SQL語句。SQL注入是網站滲透中最常用的攻擊技術,但是其實SQL注入可以用來攻擊所有的SQL資料庫。
3.下載安裝方法:https://github.com/sqlmapproject/sqlmap/tarball/master
二、sqlmap基本用法和命令行參數

基本用法和命令行參數及目錄列表
三、sqlmap所有用法和命令行參數

所有用法和命令行參數
四、sqlmap示例
檢測SQL注入點:SQL注入點可以通過掃描軟體掃描,手工測試以及讀取程式碼來判斷,一旦發現存在SQL注入,可以直接進行檢測,如下圖所示
1.獲取當前資料庫資訊:我們對一個目標mysql來一個簡單的命令(注,請使用你自己搭建的測試mysql服務,安裝步驟等請見上一篇文章)
輸入指令:python sqlmap.py -d "mysql://用戶名:密碼@localhost:埠號/user" -f –banner –dbs –users

sqlmap注入結果
2.獲取當前資料庫表
輸入指令:python sqlmap.py -d "mysql://用戶名:密碼@localhost:埠號/user" -D 資料庫 –tables

獲取資料庫表
3.獲取當前使用sqlmap的硬體設備名
輸入指令:python sqlmap.py -d "mysql://用戶名:密碼@localhost:埠號/user" –hostname

獲取當前使用sqlmap設備名稱
更多關於sqlmap注入神器的操作請移步至https://github.com/sqlmapproject/sqlmap/wiki/Usage。