sqlmapapi的使用(一)

2021-10-04 17:35:36 字數 2587 閱讀 5779

為什麼使用sqlapi

由於sqlmap每檢測乙個站點都需要開啟乙個新的命令列視窗或者結束掉上乙個檢測任務。雖然 -m 引數可以批量掃瞄url,但是模式也是乙個結束掃瞄後才開始另乙個掃瞄任務。通過api介面,下發掃瞄任務就簡單了,無需開啟乙個新的命令列視窗。

sqlmapapi

在sqlmap安裝目錄下的sqlmapapi.py檔案,這個就是sqlmap api,sqlmapapi分為服務端以及客戶端。

進入sqlmap安裝目錄,執行命令:

python sqlmapapi.py -h

返回資訊:

options:

-h,--help 顯示此幫助訊息並退出

-s,--server 執行服務端

-c,--client 執行客戶端

-h host,

--host=host 指定伺服器的ip位址(預設為「127.0.0.1」)

-p port,

--port=port 指定伺服器的埠(預設8775)

--adapter=adapter 服務端標準介面 (預設是 "wsgiref"

)--username=username 設定使用者名稱(可空)

--password=password 設定密碼(可空)

開啟sqlmapapi服務

在sqlmap安裝目錄下執行命令:

不過此種此種方式僅僅在服務端和客戶端是同一台上可以使用,如果服務端和客戶端不在同一裝置上,可以利用如下命令:

此時,服務端以及客戶端如果不在同一機器上也可進行訪問。

啟動客戶端

啟動客戶端的命令為:

python sqlmapapi.py -c

如果服務端和客戶端不在同一機器上,使用如下命令:

python sqlmapapi.py -c -h 「[ip]」 -p 8775 #ip為服務端的ip

輸入以上命令後,會進入互動模式,如圖所示。

相關命令

help        顯示幫助資訊

new args 啟動乙個新的掃瞄任務

use taskid 切換taskid

data 獲取當前任務返回的資料

log 獲取當前任務返回的日誌

status 獲取當前任務返回得的狀態

stop 停止當前任務

kill 結束當前任務

list 顯示所有任務列表

flush 清空所有任務

exit 退出客戶端

這裡使用客戶端對構建在另一台機器上的sqli進行檢測,首先建立乙個任務:

雖然我們僅僅是指定了乙個 -u 引數,但是可以發現返回資料顯示建立了乙個id為956a22c689cf4ed1的task,然後又發起了乙個請求去開始任務。因此可以發現該模式的實質是基於http協議的。

通過輸入status來檢視當前任務的狀態:

若返回資料的status欄位的值為terminated則說明掃瞄已經完成,同理status的值如果為running,則說明掃瞄正在進行。

輸入data檢視當前任務的返回資料

檢測post、cookie、http頭注入等方式時,輸入以下命令,在data.txt中加入星號,指定注入的位置,達到檢測post、cookie、http頭等注入的目的:

new -r data.txt

總結:以上僅僅是sqlmapapi的命令列介面模式,還有基於http協議介面模式,相對而言命令列介面模式操作比較簡單,但是實用性不大;http協議介面模式雖然操作起來比較繁瑣,但是可以通過編寫python指令碼的方法來進行使用,可以利用sqlmapapi將sqlmap整合到python程式中,因此對接下來的專案有很大的幫助。

遇到的問題:

python環境適配的問題,實驗過程中使用過python3、python2.6、python2.7,發現只有python2.7操作成功了,估計是因為sqlmap的適配問題吧,畢竟sqlmap是利用python2.7開發的。

MyORM的使用 一

之前把自己寫過的乙個簡單orm類庫介紹了下,考慮到 會有改動而blog中編輯 太麻煩,在codeplex上建了乙個專案 myorm,相關 和檔案維護起來方便不少。簡單說一下自己寫orm的目的,個人不喜歡把實體物件搞得太複雜,因為在系統中實體是作為資料載體存在的,如果還要讓它負責資料庫操作 實體關係,...

Animations的使用(一)

animation的分類 一,tweened animations。旋轉,移動,伸展,淡出等效果。二,frame by frame animations。可建立乙個drawable序列,按照指定的時間間隔乙個個顯示。tweened animations分類 1,alpha 淡入淡出 2,scale ...

Vim的使用(一)

命令操作h 游標向左移動乙個字元 j游標向下移動一行 k游標向上移動一行 l游標向右移動乙個字元 命令操作 w將游標移動到下乙個單詞的首字元 b將游標移動到上乙個單詞的首字元 e將游標移動到下乙個單詞的最後乙個字元 ge將游標移動到上乙個單詞的最後乙個字元 w將游標移動到下乙個空格的首字元 b將游標...