Sqlmap 使用方法小結

2021-08-22 03:27:02 字數 3729 閱讀 2395

平常的使用get方法像–tables –columns -t -d –dbs –dump 啥的就不說了,只是部落格幾天不發,空著不好,還是得寫寫東西

--is-dba 當前使用者許可權(是否為root許可權,mssql下最高許可權為sa)

--dbs 所有資料庫

--current-db **當前資料庫

--users 所有資料庫使用者

--current-user 當前資料庫使用者

--random-agent 構造隨機user-agent

--passwords 資料庫密碼

--proxy http://local:8080 –threads 10 (可以自定義執行緒加速) **

--time-sec=timesec

dbms響應的延遲時間(預設為5秒

--threads= 使用多少執行緒

--is-dba這個命令有時候決定了你是否可以在伺服器下進行寫的操作,這個很重要,是否有寫的許可權,代表你是否可以在伺服器上面寫入一句話木馬

先利用bp去抓乙個包,直接傳送包裡面的內容儲存到乙個檔案裡面,然後用-r引數去實現它就好

例如sqlmap -r 「c:\tools\request.txt」 -p 「username」 –dbms mysql指定username引數,-dbms指定了某種資料庫,這句話指定的是mysql資料庫,-p指定的是引數,不指定的話每乙個引數他都會嘗試

注意這句話已經不像平常那樣需要-u引數了,直接-r引數即可,因為報文裡面已經含有了含有應有的各種條件

可以跟上面進行post注入的一樣,直接-r引數帶上你的抓包檔案路徑,既然是需要登入的注入,那麼報文裡面肯定是要有cookie

我們還可以利用–cookie引數注入,例如:

sqlmap.py -u

" submit=submit"

--cookie=

"phpsessid=q3bm4gupu58dqptm0lve1o12u4; security=low"

--current-db

這裡面的cookie引數可以抓包獲得

這個要利用sqlmap寫shell的話前提需要獲取**的絕對路徑,而且必須敘是root許可權

使用burpsuite進行抓包,獲取cookie。判斷使用者是否為dba,輸入命令:

輸入命令:

sqlmap.py -u

"submit=submit"

--cookie=

"phpsessid=q3bm4gupu58dqptm0lve1o12u4; security=low"

--os-shell

指令碼型別為php,所以輸入4

輸入第二步得到的路徑,這樣就可以在裡面寫相關命令了

這時候會在絕對路徑下寫入2個shell,乙個用來執行命令的,另乙個是用來上傳的,其中上傳的檔名為tmpujhum.php,這個上傳的檔案可以去上傳小馬然後連線即可,這裡我們注意一下,為什麼會出現admin admin這樣的文字,這是sqlmap用來確認是否成功寫進shell的標誌,後面也會提一下。他這個寫進admin的方式有可能會導致利用sqlmap寫檔案的時候小馬檔案會出現亂碼。猜測是寫檔案的方式導致了檔案的亂碼,我們都知道寫檔案的方式要麼就是ascii要麼是二進位制檔案流方式去實現。

其實這個就是介紹了在發現注入點之後,怎麼在sqlmap裡面執行sql語句,繼續用上面的例子,改一下就是這樣子的,但前提我們也是要發現資料點

這樣就是相當於執行對應的sql語句了。但是其實這樣執行的話每一次都會對**注入一遍,效率就比較低.

可以換乙個方式,把--sql-query改為--sql-shell,這樣一來就相當於平常我們執行sql語句的那個cmd命令介面一樣。寫一條語句就直接執行一條,省去了注入的過程。

這裡可以寫檔案的話前提必須有

判斷是否為dba/root使用者,爆出了**的絕對路徑,有乙個可寫目錄,也是用上面的案例

sqlmap.py -u "submit=submit" --cookie="phpsessid=q3bm4gupu58dqptm0lve1o12u4; security=low" --file-read=/opt/lampp

/htdocs/php.ini

成功讀取了php.ini檔案,並返回了路徑。

開啟如下圖所示:

這裡的檔案我們可以去sqlmap的output裡面檢視,也就是對應的使用者資料夾裡面

在伺服器端寫入檔案

輸入:

sqlmap.py -u "submit=submit" --cookie="phpsessid=q3bm4gupu58dqptm0lve1o12u4; security=low" --file-write c:\1.txt --file-dest /opt/lampp/htdocs/vulnerabilities/exec/1.txt
這裡的意思就是將本地c:\1.txt寫入到伺服器端/opt/lampp/htdocs/vulnerabilities/exec/1.txt開啟對應檔案的**路徑如下圖:

這裡又出現了admin admin了,就是sqlmap用來確認是否寫成功的標誌,因為在寫檔案的過程中他會問是否驗證,它就會以這個標誌來判斷啦。

sqlmap基本使用方法

sqlmap是安全測試工具,通常用於對已知的http介面進行sql注入測試,一旦注入成功,可以獲取到後台包括資料庫表 使用者資訊 資料內容等多種敏感資訊,對web漏洞防範有重要意義。基本語法 1.先進行注入點探測,常規語法是 python sqlmap.py u url 說明 url 一般選擇包括引...

sqlmap的簡要使用方法

僅作為備忘!sqlmap使用 注入型別有四種分別為 boolean based blind error based stacked queries inline query。sqlmap u u 注入點 檢測注入點是否可用 sqlmap u dbs 可曝出該sqlserver中所有資料庫名稱 sql...

我的SQLmap使用方法(詳解)

sqlmap安裝 基本引數 h 檢視幫助選項 is dba 當前使用者是否為管理員許可權 dbs 所有資料庫 current db 當前資料庫 users 所有資料庫使用者 current user 當前資料庫使用者 tables 引數 列表名 columns 引數 列欄位 dump all 轉存d...