用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。