【信息收集】從GET到POST:破解登錄表單的全流程

=目標:

  1. 將瀏覽器數據代理至BP的proxy模塊。

  2. 將個人PHP的留言板項目首頁登錄數據包代理至BP,并轉發至intrder模塊,進行暴力破解。

免責聲明:本文章內容僅用于個人網絡安全知識學習與研究,嚴禁用于任何未經授權的攻擊或非法活動,使用者需遵守相關法律法規,一切違法違規行為后果自負!


抓包:

由于自己的項目后端沒有寫加密,抓包后直接發現問題:明文傳輸

查看事件日志,大抵這也算是信息收集的一部分~

并且注意到,剛訪問頁面時抓包是get請求,提交數據后抓到的包才是后端代碼中寫的post請求

這種現象是由HTTP 請求的分工和網頁交互流程決定的,本質上是 “頁面加載” 與 “表單提交” 兩種行為對應不同請求方法的結果,具體原因如下:

1. 剛進入頁面時的 GET 請求:負責 “獲取資源”

當你在瀏覽器中輸入網址或點擊鏈接進入登錄頁面時,瀏覽器會發送GET 請求,這是因為:

  • GET 請求的核心作用:從服務器獲取資源(如 HTML 頁面、CSS、JS、圖片等)。
    登錄頁面本身是一個網頁(由 HTML、CSS、JS 等文件組成),瀏覽器需要通過 GET 請求向服務器 “索要” 這些資源,服務器收到 GET 請求后,會返回登錄頁面的 HTML 代碼,瀏覽器再解析代碼并渲染出登錄界面(輸入框、登錄按鈕等)。

  • 為什么用 GET?
    GET 是 HTTP 協議中默認的 “獲取資源” 方法,它的語義是 “從服務器讀取數據”,不會對服務器數據進行修改,適合用于請求靜態資源(頁面、圖片等)或查詢數據。

2. 點擊登錄按鈕后的 POST 請求:負責 “提交數據”

當你填寫賬號密碼并點擊 “登錄” 按鈕時,觸發的是表單提交行為,此時后端設計為 POST 請求,原因是:

  • POST 請求的核心作用:向服務器提交數據(如表單內容),并可能導致服務器數據被修改(如驗證賬號密碼、創建會話等)。
    登錄功能需要將用戶輸入的賬號、密碼發送給服務器驗證,這屬于 “向服務器提交數據” 的行為,符合 POST 請求的語義(POST 更適合處理有副作用的操作,如提交、修改數據)。

  • 為什么登錄用 POST 而非 GET?

    • GET 請求的參數會暴露在 URL 中(如?username=xxx&password=xxx),安全性低,不適合傳輸敏感信息(密碼)。

    • POST 請求的參數放在請求體中,相對更安全,且支持更大的數據量,適合傳輸表單數據。

3. 背后的技術邏輯:網頁交互的 “兩步走”

登錄頁面的交互流程本質是 “先加載頁面,再提交數據” 的兩步操作:

  1. 第一步:加載登錄頁面(GET)
    瀏覽器發送 GET 請求 → 服務器返回登錄頁面的 HTML(包含表單標簽<form>) → 瀏覽器渲染出帶輸入框和按鈕的界面。
    此時的<form>標簽可能已經定義了提交方式為 POST(如<form method="post" action="/login">),但未點擊按鈕時,這個表單不會被提交。

  2. 第二步:提交登錄數據(POST)
    點擊 “登錄” 按鈕 → 觸發表單提交事件 → 瀏覽器根據<form>標簽中method="post"的定義,向action指定的地址發送 POST 請求 → 請求體中攜帶賬號、密碼等數據 → 服務器驗證并返回結果。

總結 :

  • GET 請求:用于 “獲取登錄頁面資源”,是進入頁面時的默認行為,目的是讓瀏覽器渲染出可交互的界面。

  • POST 請求:用于 “提交登錄數據”,是點擊按鈕后的主動操作,目的是將敏感信息發送給服務器驗證。

這兩種請求分別對應 “頁面加載” 和 “數據提交” 兩個階段,分工明確,符合 HTTP 協議中 GET(讀取)和 POST(提交)的設計語義。


暴力破解:

將抓到的包轉發至intrder模塊,進行暴力破解。

開始攻擊,通過尋找到“字段長度”明顯不同的字段,確定正確密碼


E? ? ? ? ? ? ? ? ?N? ? ? ? ? ? ? ? ?D

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

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

相關文章

【辦公自動化】如何使用Python操作PPT和自動化生成PPT?

在現代商業和教育環境中&#xff0c;PowerPoint演示文稿是信息傳遞的重要工具。通過Python自動化PPT創建和編輯過程&#xff0c;可以大幅提高工作效率&#xff0c;特別是在需要批量生成或更新演示文稿的場景下。本文將介紹如何使用python-pptx庫實現PPT自動化&#xff0c;并提供…

18 ABP Framework 模塊管理

ABP Framework 模塊管理 概述 該頁面詳細介紹了在 ABP Framework 解決方案中使用 ABP CLI 及相關工具添加、更新和管理模塊的方法。模塊管理是 ABP 模塊化架構的核心&#xff0c;支持可重用業務和基礎設施功能的集成。模塊通常以 NuGet 和/或 NPM 包的形式分發&#xff0c;有時…

外觀模式C++

外觀模式&#xff08;Facade Pattern&#xff09;是一種結構型設計模式&#xff0c;它為復雜系統提供一個簡化的接口&#xff0c;隱藏系統內部的復雜性&#xff0c;使客戶端能夠更輕松地使用系統。這種模式通過創建一個外觀類&#xff0c;封裝系統內部的交互邏輯&#xff0c;客…

Go 微服務限流與熔斷最佳實踐:滑動窗口、令牌桶與自適應閾值

&#x1f31f; Hello&#xff0c;我是蔣星熠Jaxonic&#xff01; &#x1f308; 在浩瀚無垠的技術宇宙中&#xff0c;我是一名執著的星際旅人&#xff0c;用代碼繪制探索的軌跡。 &#x1f680; 每一個算法都是我點燃的推進器&#xff0c;每一行代碼都是我航行的星圖。 &#x…

Java面試寶典:JVM性能優化

一、運行時優化 Java虛擬機(JVM)的運行時優化是提升Java應用性能的核心環節。JIT(Just-In-Time)編譯器在程序運行過程中,通過分析熱點代碼的執行模式,動態地進行一系列高級優化。這些優化技術對開發者透明,但了解其原理能幫助我們編寫出更易于優化的代碼,從而顯著提升…

Day55--圖論--107. 尋找存在的路徑(卡碼網)

Day55–圖論–107. 尋找存在的路徑&#xff08;卡碼網&#xff09; 今天學習并查集。先過一遍并查集理論基礎。再做下面這一道模板題&#xff0c;就可以結束了。體量不多&#xff0c;但是理解并查集&#xff0c;并使用好&#xff0c;不容易。 后續再找相關的題目來做&#xff0…

C++中的鏈式操作原理與應用(三):專注于異步操作延的C++開源庫 continuable

目錄 1.簡介 2.安裝與集成 3.快速入門 4.完整示例 5.優勢與適用場景 1.簡介 continuable 是一個專注于 異步操作延續&#xff08;continuation&#xff09; 的現代 C 開源庫&#xff0c;旨在簡化異步編程流程&#xff0c;解決 “回調地獄” 問題&#xff0c;提供直觀、靈活…

STM32--寄存器與標準庫函數--通用定時器--輸出比較(PWM生成)

目錄 前言 通用定時器類型 向上計數、向下計數、中心對齊 輸入捕獲與輸出比較概念 輸出比較典型例子&#xff1a;驅動舵機旋轉 通用定時器的輸出比較庫函數 代碼 通用定時器的輸出比較寄存器操作 代碼 這里提供數據手冊的寄存器 后言 前言 使用平臺:STM32F407ZET6 使…

91、23種設計模式

設計模式是軟件設計中反復出現的解決方案的模板&#xff0c;用于解決特定問題并提高代碼的可維護性、可擴展性和可復用性。23種經典設計模式可分為創建型、結構型和行為型三大類&#xff0c;以下是具體分類及模式概述&#xff1a; 一、創建型模式&#xff08;5種&#xff09; 關…

力扣(串聯所有單詞的子串)

串聯所有單詞的子串問題&#xff1a;多滑動窗口與哈希表的實戰應用。 一、題目分析&#xff08;一&#xff09;問題定義 給定字符串 s 和字符串數組 words&#xff08;words 中所有單詞長度相同 &#xff09;&#xff0c;找出 s 中所有“串聯子串”的起始索引。串聯子串指包含 …

RH134 管理基本存儲知識點

1. 對 Linux 磁盤進行分區時有哪兩種方案&#xff1f;分別加以詳細說明。答&#xff1a;MBR分區&#xff1a;主引導記錄(MBR)分區方案是運行BIOS固件的系統上的標準方案。此方案支持最 多四個主分區。在Linux系統上&#xff0c;您可以使用擴展分區和邏輯分區來創建最多…

【JS 異步】告別回調地獄:Async/Await 和 Promise 的優雅實踐與錯誤處理

【JS 異步】告別回調地獄&#xff1a;Async/Await 和 Promise 的優雅實踐與錯誤處理 所屬專欄&#xff1a; 《前端小技巧集合&#xff1a;讓你的代碼更優雅高效 上一篇&#xff1a; 【JS 數組】數組操作的“瑞士軍刀”&#xff1a;精通 Array.reduce() 的騷操作 作者&#xff…

23.Linux : ftp服務及配置詳解

Linux &#xff1a; ftp服務及配置詳解 FTP 基本概念 定義&#xff1a;文件傳輸協議&#xff08;File Transfer Protocol&#xff09;&#xff0c;采用 C/S 模式工作。端口&#xff1a; 控制端口&#xff1a;21數據端口&#xff1a;20FTP 工作原理模式工作流程連接發起方主動模…

悲觀鎖樂觀鎖與事務注解在項目實戰中的應用場景及詳細解析

在今天做的項目練習部分中真的學到了很多東西&#xff0c;也補充了許多之前遺漏或是忘記的知識點&#xff0c;但時間精力有限&#xff0c;我就先記錄一下今天用到的一個新東西&#xff0c;悲觀鎖和樂觀鎖。首先給出實際應用背景&#xff1a;在加入鎖和事務注解之前&#xff0c;…

Java構造器與工廠模式(靜態工程方法)詳解

1. 構造器1.1 構造器的核心意義1.1.1 對象初始化構造器在創建對象 (new) 時自動調用, 用于初始化對象的狀態 (如設置字段初始值, 分配資源等)無構造器時: 字段為默認值&#xff08;0/null/false&#xff09;有構造器&#xff1a;確保對象創建后即處于有效狀態1.1.2 強制初始化…

解決jdk初始化運行,防火墻通信選錯專業網絡問題

問題描述新項目添加不同版本的jdk&#xff0c;運行時提示防火墻通信策略&#xff0c;選成專用網絡。其他人訪問后端接口時&#xff0c;提示連接失敗。 解決方案&#xff1a;1、在搜索欄中輸入 防火墻關鍵字&#xff0c;選擇到防火墻和網絡保護2、選擇允許應用通過防火墻3、先點…

【Linux】常用命令(三)

【Linux】常用命令&#xff08;三&#xff09;1. export1.1 原理1.2 常用語法1.3 示例1.4 書中對命令的解釋1.5 生效范圍2. 測試服務地址與其端口能否訪問2.1 nc(Netcat)命令2.2 telnet2.3 nmap2.4 curl命令 (適用于HTTP/HTTPS 服務)1. export export 是 Linux Shell&#xff…

Pytest項目_day15(yaml)

YAMLYAML是一個對所有編程語言都很友好的數據序列化標準&#xff0c;它是一種直觀的能夠被電腦識別的數據序列化格式&#xff0c;是一種可讀性高且容易被人類閱讀的腳本語言YAML語言的本質是一種通用的數據串行化格式適用場景 可以直接序列化為數組、字典解析成本低專門寫配置文…

審批流程系統設計與實現:狀態驅動、靈活擴展的企業級解決方案

審批流程系統設計與實現&#xff1a;狀態驅動、靈活擴展的企業級解決方案 本文基于實際企業級審批系統源碼&#xff0c;深入解析如何設計高擴展性、強一致性的審批流程引擎&#xff0c;涵蓋狀態機設計、多租戶隔離、文件服務集成等核心實現。 1. 系統設計概覽 審批系統的核心架…

汽車免拆診斷案例 | 2010款奧迪A4L車行駛中發動機偶爾自動熄火

故障現象 一輛2010款奧迪A4L車&#xff0c;搭載CDZ發動機 &#xff0c;累計行駛里程約為18.2萬km。該車行駛中發動機偶爾自動熄火&#xff0c;有時熄火后能夠立即重新起動著機&#xff0c;有時需要等待一會兒才能重新起動著機&#xff0c;故障頻率較低。因該故障在其他維修廠陸…