CTF實戰:用Sqlmap破解表單輸入型SQL注入題(輸入賬號密碼/usernamepassword)

目錄

引言

步驟1:用Burp Suite捕獲表單請求

步驟2:用Sqlmap獲取數據庫名稱

參數解釋:

輸出示例(根據題目環境調整):

步驟3:獲取目標數據庫中的表名

參數解釋:

輸出示例:

步驟4:獲取表中字段及數據

參數解釋:

輸出示例(關鍵部分):

注意事項與擴展技巧

總結


引言

在CTF(網絡安全競賽)中,SQL注入是最經典的題型之一。其中,??表單輸入型注入??(即通過POST請求提交的表單參數觸發注入)尤為常見——無論是Web安全入門練習,還是高階攻防對抗,這類題目都能很好地考察選手對SQL注入原理的理解與工具運用能力。

以下面的題目為例:

步驟1:用Burp Suite捕獲表單請求

表單注入的核心是??攔截POST請求??,并將請求保存為Sqlmap可識別的格式(.txt)。具體操作如下:

  1. 打開目標頁面,找到需要提交數據的表單(例如登錄框、搜索框等)。
  2. 啟動Burp Suite,配置瀏覽器代理(默認端口8080),確保流量經過Burp。
  3. 在表單中填寫任意數據(如用戶名填test,密碼填123),提交表單。
  4. 在Burp的“Proxy”標簽頁中,找到剛提交的POST請求(狀態碼通常為200或302),右鍵選擇“Send to Repeater”(發送到重放模塊)。
  5. 點擊“Repeater”標簽,確認請求的Body部分包含表單參數(例如username=test&password=123)。

保存信息到txt文件里(這里保存到target.txt文件里):

步驟2:用Sqlmap獲取數據庫名稱

目標:通過表單參數(如username)觸發注入,獲取目標數據庫的所有庫名。

進入cmd執行命令(注意要在sqlmap目錄下):

python sqlmap.py -r target.txt -p username --batch --dbs
參數解釋:
  • -r target.txt:指定讀取之前保存的請求文件。
  • -p username:指定注入參數(即表單中可能被注入的字段,這里是username)。
  • --batch:自動確認所有交互選項(省去手動輸入的麻煩)。
  • --dbs:枚舉目標服務器上的所有數據庫。
輸出示例(根據題目環境調整):

這里看到有一個名為geek的數據庫(非系統庫,大概率是題目目標庫),后續操作將圍繞它展開。

步驟3:獲取目標數據庫中的表名

目標:在geek數據庫中,找到可能存儲用戶數據的表(如userusers等)。

執行命令:

python sqlmap.py -r target.txt -p username --batch -D geek --tables
參數解釋:
  • -D geek:指定要操作的目標數據庫(geek)。
  • --tables:枚舉該數據庫下的所有表。
輸出示例:

?這里看到兩個表:geekuserl0ve1ysq1。根據CTF常見命名習慣,l0ve1ysq1(可能是“love1ysql1”的變形)更可能是存儲敏感數據的表(比如Flag),優先排查它。

步驟4:獲取表中字段及數據

目標:從l0ve1ysq1表中提取字段名和具體數據(尤其是Flag)。

執行命令:
?

python sqlmap.py -r target.txt -p username --batch -D geek -T l0ve1ysq1 --dump
參數解釋:
  • -T l0ve1ysq1:指定要操作的表(l0ve1ysq1)。
  • --dump:導出該表的所有數據(包括字段名和內容)。
輸出示例(關鍵部分):


最終,我們在id=16的記錄中找到了Flag:flag{898d3190-8bd7-4677-b553-8142542ae251}

注意事項與擴展技巧

  1. ??參數選擇??:如果-p指定的參數(如username)未被注入,Sqlmap會提示“parameter not injectable”,此時需嘗試其他參數(如password)。
  2. ??繞過過濾??:若題目中對關鍵字(如UNIONSELECT)做了過濾,可通過--tamper參數使用繞過腳本(如space2comment用注釋符替換空格)。
  3. ??手動驗證??:Sqlmap雖強大,但CTF中可能存在“反套路”設計(如需要結合報錯注入、布爾盲注)。建議先手動驗證注入點類型(通過輸入'看是否報錯),再決定是否完全依賴工具。
    ?????

總結

本次實戰演示了如何用Sqlmap快速破解表單輸入型SQL注入題:從Burp抓包保存請求,到通過--dbs--tables--dump逐步獲取數據庫結構與數據,最終定位Flag。

?(注:本文實驗環境為模擬場景,請勿用于非法滲透測試。)

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

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

相關文章

質數時間(二分查找)

題目描述如果把一年之中的某個時間寫作 a 月 b 日 c 時 d 分 e 秒的形式,當這五個數都為質數時,我們把這樣的時間叫做質數時間,現已知起始時刻是 2022 年的 a 月 b 日 c 時 d 分 e 秒,終止時刻是 2022 年的 u 月 v 日 w 時 x 分 y…

Python訓練Day29

浙大疏錦行 類的裝飾器裝飾器思想的進一步理解:外部修改、動態類方法的定義:內部定義和外部定義

新手DBA實戰指南:如何使用gh-ost實現MySQL無鎖表結構變更

新手DBA實戰指南:如何使用gh-ost實現MySQL無鎖表結構變更 作為DBA,大表結構變更(DDL)一直是令人頭疼的問題。傳統的ALTER TABLE操作會鎖表,嚴重影響業務連續性;而常見的pt-online-schema-change工具雖然能實現在線變更,但依賴觸發器機制,在高并發場景下性能表現不佳。本…

OSPF綜合

一、實驗拓撲二、實驗需求1、R4為ISP,其上只配置IP地址;R4與其他所直連設備間均使用公有IP; 2、R3-R5、R6、R7為MGRE環境,R3為中心站點; 3、整個OSPF環境IP基于172.16.0.0/16劃分;除了R12有兩個環回&#x…

技術面試知識點詳解 - 從電路到編程的全棧面經

技術面試知識點詳解 - 從電路到編程的全棧面經 目錄 模擬電路基礎數字電路原理電源設計相關編程語言基礎數據庫與并發網絡協議基礎算法與數據結構 模擬電路基礎 1. 放大電路類型判斷 這是模擬電路面試的經典題目,通過電壓放大倍數判斷放大電路類型: …

LangGraph認知篇-Command函數

Command簡述 在 LangGraph 中,Command 是一個極具實用性的功能,它能夠將控制流(邊)和狀態更新(節點)巧妙地結合起來。這意味著開發者可以在同一個節點中,既執行狀態更新操作,又決定下…

【目標檢測】小樣本度量學習

小樣本度量學習(Few-Shot Metric Learning)通常用于分類任務?(如圖像分類),但它也可以與目標檢測(Object Detection)結合,解決小樣本目標檢測(Few-Shot Object Detectio…

cmd怎么取消關機命令

在 Windows 的命令提示符(CMD)中取消已計劃的關機操作,可以通過 shutdown 命令的 ?**-a**? 參數實現。以下是具體步驟:?操作方法??打開 CMD?按下 Win R 組合鍵,輸入 cmd 并回車,打開命令提示符窗口。…

網易云音樂硬剛騰訊系!起訴SM娛樂濫用市場支配地位

企查查APP顯示,近日,法院公開杭州樂讀科技有限公司、杭州網易云音樂科技有限公司起訴SM ENTERTAINMENT CO. 、卡斯夢(上海)文化傳播有限公司等開庭信息,案由涉及濫用市場支配地位糾紛。公告顯示,該案件計劃…

[css]切角

使用css實現一個切角的功能&#xff0c;有以下幾種方案&#xff1a; <div class"box"></div>方案一&#xff1a;linear-gradient linear-gradient配合backgroud-image可以實現背景漸變的效果。linear-gradient的漸變過渡區的占比是總的空間&#xff08;高…

分享一個可以測試離線服務器性能的腳本

在日常運維工作中&#xff0c;經常會遇到系統性能莫名跟不上業務需求的情況&#xff1a;服務器響應變慢、應用加載卡頓、資源占用異常飆升等問題頻繁出現&#xff0c;卻難以快速問題根源究竟在CPU過載、內存泄漏、磁盤I/O阻塞還是網絡帶寬瓶頸。這種時候&#xff0c;特別需要一…

Python Pandas.unique函數解析與實戰教程

Python Pandas.unique 函數解析與實戰教程 摘要 本文章旨在全面地解析 pandas 庫中的 unique 函數。pandas.unique 是一個用于從一維數組型(array-like)對象中提取唯一值的高效工具。我們將從其核心功能、函數簽名、參數詳解、返回值類型,到關鍵行為特性(如順序保留、缺失…

排序算法入門:直接插入排序詳解

這里寫目錄標題介紹原理代碼實現分析介紹 直接插入排序是一種簡單直觀的排序算法&#xff0c;適用于小規模數據或基本有序的數據集。其核心思想是構建有序序列&#xff0c;對于未排序數據&#xff0c;在已排序序列中從后向前掃描&#xff0c;找到相應位置并插入。 原理 我們…

ClickHouse MergeTree引擎:從核心架構到三級索引實戰

摘要 MergeTree是ClickHouse最核心的存儲引擎&#xff0c;采用列式存儲LSM-Tree架構設計&#xff0c;支持高效的數據寫入、合并和查詢。本文將全面解析MergeTree引擎的基礎概念、數據流、核心架構、索引系統以及常見問題。 基礎篇&#xff1a; 一、MergeTree引擎基礎概念 1. 定…

電腦手機熱點方式通信(上)

電腦連接手機熱點時的無線鏈路情況&#xff1a; 電腦上網時&#xff08;從服務器下載數據&#xff0c;或者上傳指令、數據&#xff09;&#xff0c;首先電腦與手機之間基于WiFi協議在2.4G頻段或者5G頻段通信&#xff0c;然后手機與基站之間再基于4G LTE或者5G NR協議在2412MHz…

MySQL CPU占用過高排查指南

MySQL CPU 占用過高時&#xff0c;排查具體占用資源的表需結合系統監控、數據庫分析工具和 SQL 診斷命令。&#x1f50d; ?一、快速定位問題根源??確認 MySQL 進程占用 CPU?使用 top 或 htop 命令查看系統進程&#xff0c;確認是否為 mysqld 進程導致 CPU 飆升。若 MySQL 進…

軟件交付終極閘口:驗收測試全解析

驗收測試&#xff1a;軟件交付的關鍵環節 目錄 驗收測試&#xff1a;軟件交付的關鍵環節 一、驗收測試&#xff1a;軟件交付的終極閘口 核心目標與作用 在 SDLC 中的位置 二、驗收測試類型詳解&#xff1a;精準匹配業務場景 三、驗收測試全流程解析&#xff1a;從計劃到…

深度學習核心:卷積神經網絡 - 原理、實現及在醫學影像領域的應用

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;10年以上C/C, C#,Java等多種編程語言開發經驗&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開發…

多線程(二) ~ 線程核心屬性與狀態

文章目錄一. 線程創建&#xff08;start&#xff09;&#xff08;一&#xff09;繼承Thread類&#xff0c;重寫run&#xff08;二&#xff09;繼承Runnable類&#xff0c;重寫run&#xff08;三&#xff09;Thread匿名內部類重寫&#xff08;四&#xff09;Runnable匿名內部類重…

Linux---編輯器vim

一、vim的基本概念1.三種模式①命令模式控制屏幕光標的移動&#xff0c;字符、字或行的刪除&#xff0c;移動復制某區段及進入插入模式或者進去底行模式②插入模式可進行文本輸入&#xff0c;按Esc回到命令行模式③底行模式文件保存或退出&#xff0c;也可以進行文件替換&#…