網絡安全護網實戰:攻擊手段解析與防御策略

? ? ? ? 在網絡安全領域,護網行動中對各類攻擊方式和漏洞原理的掌握至關重要。本文將詳細解析常見的攻擊方式及其背后的漏洞原理,幫助大家提升護網技能。

一、常見攻擊方式及漏洞原理

1. SQL注入漏洞

? 定義:將惡意的數據庫語句注入到后臺數據庫去執行,本質是代碼與數據不區分,用戶輸入的惡意數據作為命令或查詢的一部分被發送到解析器執行。

? 產生原因:根本原因是程序未對用戶提交的參數數據進行有效校驗或過濾,惡意SQL語句拼接后被數據庫執行,典型場景是用戶可控參數直接拼接到SQL語句中。

? 常見挖掘方式:包括URL參數注入、POST包注入(使用Burp等工具)、利用sqlmap等自動化工具。

? 注入場景:發生在所有用戶可控參數的地方,常見位置有URL路徑信息、GET請求參數、HTTP請求頭、POST請求參數。

? 注入判斷方法:

? 單引號判斷:添加單引號后出現錯誤回顯則可能存在注入。

? AND判斷:AND 1=1永真條件返回正常,AND 1=2報錯則存在注入。

? OR判斷:OR 1=1和OR 1=2返回不同結果則存在注入。

? XOR判斷:正確語句返回錯誤頁面,錯誤語句返回正確頁面則存在注入。

? 數字加減判斷:原頁面與id=10-1返回不同則存在注入。

? 實際操作演示:在DVWA(分為Low、Medium、High、Impossible四個安全級別)中,設置安全級別為Low,進行永真、永假條件測試,使用order by判斷字段數,使用union select進行聯合查詢等。常用注入語句如“1' order by 2#”“1' union select 1,2#”等。

? 不同請求方式的注入:

? GET請求注入:直接在URL參數中注入。

? POST請求注入:使用Burp Suite抓包,修改POST參數進行注入,保存請求為文本文件供sqlmap使用。

? sqlmap自動化注入:命令為“python sqlmap.py -r request.txt”,可自動識別注入點類型,支持多種注入技術。

2. 文件上傳與文件包含漏洞

? 文件上傳漏洞:攻擊者上傳惡意文件(如webshell)導致服務器淪陷。

? 文件包含漏洞:讀取服務器本地文件內容。

? 區別:文件上傳是“寫入”操作,文件包含是“讀取”操作。

(1)文件上傳漏洞

? 產生原因:

? 本地上傳限制不嚴格,例如注冊時要求上傳圖片卻允許上傳PHP腳本。

? HTTP方法配置不當,服務器未禁用PUT等不安全方法(標準安全配置應僅允許GET/POST/HEAD)。

? 服務器解析漏洞,Apache/Nginx/IIS等中間件的特定版本存在解析缺陷(2019年后大部分已修復)。

? 文件路徑截斷,PHP中常見的%00截斷漏洞(十六進制0×00作為字符串終止符)。

? 實戰操作:

? 低級別漏洞利用:使用PHP一句話木馬“”(密碼為“xie”),上傳后返回存儲路徑,通過中國菜刀/冰蝎/蟻劍等工具連接。

? 中級別繞過:服務端驗證MIME類型(僅允許image/jpeg/png),可通過Burp修改Content-Type為image/jpeg(需在Hex視圖修改十六進制數據)。

? 服務端驗證:MIME定義了指定擴展名文件的打開方式,程序會檢查上傳文件的Content-Type頭信息。防御要點包括設置上傳目錄不可執行、嚴格限制允許的文件類型(白名單校驗)、隨機化處理文件名和存儲路徑。

? 網絡實例:如HTTP PUT攻擊,構造請求上傳惡意文件,響應狀態碼201表示成功,可通過參數執行系統命令。防護措施有Apache利用rewrite模塊攔截TRACE請求,IIS通過URLScan工具禁用危險方法。

? 漏洞解析:不同服務器有不同漏洞,如Apache的右向左解析,Nginx的空字節截斷,IIS的目錄解析、分號解析等。

? 路徑截斷:利用0×00截斷后續字符串,需在Burp的Hex視圖中修改十六進制數據頭,且有PHP版本<5.3.29、magic_quotes_gpc=OFF、僅適用于路徑截斷等限制條件。

(2)文件包含漏洞

? 漏洞原理與危害:開發人員將包含文件設置為變量進行動態調用,導致客戶端可任意調用隔離文件,可下載服務器敏感文件,獲取代碼后審計發現更多漏洞。

? 高危函數:代碼執行類如eval()、assert()等;文件包含類如include()、include_once()、require()、require_once()。

? 包含函數對比:require找不到文件時產生致命錯誤并停止腳本,include僅產生警告且腳本繼續執行;require_once和include_once與前兩者類似,但會檢查重復包含。

? 漏洞實例演示:基礎利用通過參數包含本地文件,目錄穿越使用../跳轉讀取系統文件,敏感文件讀取可通過絕對路徑獲取相關信息。

? 常見敏感路徑:Windows系統如c:\boot.ini、c:\windows\repair\sam等;Linux系統如/etc/passwd、/etc/shadow等。

? 防御要點:嚴格校驗包含參數是否外部可控,限制文件路徑范圍,實施白名單機制,避免動態包含,PHP配置中allow_url_include必須為On狀態,且主要出現在PHP環境。

3. 命令執行漏洞

? DVWA低級別:黑客可隨意執行系統命令,代碼使用shell_exec()函數直接執行用戶輸入的IP地址,未對輸入進行過濾或驗證,根據操作系統類型拼接不同ping命令格式。攻擊示例如輸入“127.0.0.1&&netstat -ano”可同時執行ping和查看網絡連接。

? DVWA中級別:過濾了分號;和邏輯與&&符號,但未過濾單個&符號。Command1&&Command2僅當Command1成功時才執行Command2,Command1&Command2無論Command1是否成功都會執行Command2,可使用&連接命令繞過。

? 高級別特征:過濾了大部分特殊符號,但未過濾空格和管道符|,可通過“127.0.0.1 | whoami”獲取系統用戶名。

? 防御方式:禁用危險函數,使用替代方案,輸入過濾,及時更新框架和系統補丁。

4. 邏輯漏洞

? 分類:

? 水平越權:相同權限用戶間的越權操作,典型場景是通過修改userID參數訪問其他用戶數據。

? 垂直越權:不同權限用戶間的越權操作,典型場景是普通用戶獲取管理員權限。

? 發生場景:登錄/注冊環節(暴力破解、驗證碼繞過等)、后臺/找回功能(密碼重置漏洞等)、特殊系統(越權訪問等)、留言評論(CSRF、存儲型XSS等)。

? 案例:某相親APP驗證碼系統存在缺陷,可攔截并暴力破解短信驗證碼,實現任意用戶密碼登錄。

二、護網技能提升

1. 邏輯漏洞案例

? 繞過驗證碼進行任意用戶注冊:某相親APP存在短信驗證碼獲取功能缺陷,攻擊者通過Burp Suite等工具抓取驗證碼請求,使用Intruder模塊暴力破解,可能伴隨短信炸彈漏洞。

? 未授權訪問/目錄遍歷:某醫院系統存在URL直接訪問管理員頁面漏洞,內網環境下無需賬號密碼即可越權訪問;通過掃描后臺目錄可能發現敏感腳本或文件。

2. 弱口令案例

? 常見弱口令類型:賬號密碼相同(如admin/admin)、通用弱口令(如123456/123456)、社會工程學密碼(如姓名+生日)等,整改難點在于用戶不遵守規定。

? 社工獲取用戶權限:攻擊步驟包括尋找公示密碼規則的系統,通過公開信息獲取學號名單,利用特殊姓氏縮小范圍,通過社交網絡獲取身份證信息等。防御建議為避免明示密碼規則,對敏感信息脫敏處理。

? 醫療系統弱口令爆破:使用Burp Intruder對醫生賬號批量測試,成功匹配多個弱口令賬號,獲取權限后可進一步滲透。

三、問答階段

技術問題:DVWA平臺搭建時遇到exec函數禁用問題,可能與PHP版本有關(5.2可用但5.4不可用)。
解決方案:建議保持PHP5.2環境或檢查php.ini的disable_functions配置。

四、知識小結
|知識點|核心內容|實操演示/案例|防御措施|難度系數|
|---|---|---|---|---|
|SQL注入漏洞|惡意SQL語句注入后臺數據庫執行,本質是代碼與數據不區分|DVWA平臺演示:單引號判斷注入點、and 1=1永真條件測試、SQLmap自動化工具使用|參數校驗與過濾、預編譯語句、最小權限原則|★★★☆|
|文件上傳漏洞|上傳惡意腳本文件獲取服務器權限,4大成因:本地限制不嚴、HTTP方法配置不當、服務器解析漏洞、%00截斷|低級別直接上傳PHP木馬、中級別修改Content-Type繞過、PUT方法上傳案例|目錄不可執行、白名單校驗、隨機化文件名|★★★★|
|文件包含漏洞|動態調用文件時未過濾路徑,關鍵函數:include/require、include_once/require_once|讀取/etc/passwd、查看PHP配置文件、目錄遍歷攻擊對比|禁用危險函數、路徑白名單、關閉allow_url_include|★★★☆|
|命令執行漏洞|系統命令被惡意執行,過濾繞過技巧:&&和&區別、管道符|利用DVWA三級難度測試、SAP Netweaver漏洞、Struts2框架漏洞|禁用危險函數、輸入過濾、框架補丁更新|★★★★|
|邏輯漏洞|業務流設計缺陷,類型:水平越權(同權限)、垂直越權(跨權限)|相親APP驗證碼爆破、未授權訪問后臺、短信炸彈攻擊|權限二次校驗、驗證碼防爆破、會話超時機制|★★★★☆|
|弱口令漏洞|默認憑證/簡單密碼,社工攻擊路徑:學號+身份證后六位、密碼噴灑攻擊|admin/admin測試、123456密碼爆破、高校系統社工案例|強制復雜度策略、多因素認證、登錄失敗鎖定|★★☆|
|工具鏈|滲透測試工具集:Burp Suite抓包、SQLmap自動化注入、菜刀/冰蝎連接木馬|代理設置與數據包修改、POST請求注入技巧、木馬連接故障處理|網絡流量監控、WAF防護、異常行為檢測|★★★★|

?

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

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

相關文章

使用alist+RaiDrive+webdav將百度夸克網盤變為本地電腦磁盤方法教程

由于每天都要操作網盤不下十幾次&#xff0c;頻繁啟動網盤比較麻煩。 使用百度夸克網盤的webdav服務可以將百度夸克網盤掛載到本地電腦上&#xff0c;就像操作本地電腦硬盤一樣操作網盤&#xff0c;非常方便。我們以alistraidrive為例演示。 首先打開百度網盤pan.baidu.com&a…

C# 入門學習教程(二)

文章目錄一、操作符詳解1、操作符概覽2、操作符的本質3、操作符的優先級4、同級操作符的運算順序5、 各類操作符的示例二、表達式&#xff0c;語句詳解1. 表達式的定義2. 各類表達式概覽3. 語句的定義4. 語句詳解一、操作符詳解 C# 中的操作符是用于執行程序代碼運算的符號&am…

Linux內核深度解析:IPv4策略路由的核心實現與fib_rules.c源碼剖析

深入探索Linux網絡棧的規則引擎,揭秘策略路由如何通過多級路由表實現復雜流量控制 在Linux網絡棧中,路由決策遠不止簡單的目的地址匹配。策略路由(Policy Routing)允許根據源地址、TOS值、端口等復雜條件選擇不同的路由路徑。本文將深入剖析實現這一功能的核心源碼——net/…

【UE5】虛幻引擎的運行邏輯

UE5的運行邏輯可以分為引擎啟動流程和游戲運行流程兩個部分。引擎啟動流程一、平臺入口&引擎主流程初始化1、系統入口不同的平臺會有不同的入口。在Windows平臺&#xff0c;入口是Launch模塊下的\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp文件中的W…

大數據學習1:Hadoop單機版環境搭建

1.基礎知識介紹 Flume采集日志。Sqoop采集結構化數據&#xff0c;比如采集數據庫。 存儲到HDFS上。 YARN資源調度&#xff0c;每臺服務器上分配多少資源。 Hive是基于Hadoop的一個數據倉庫工具&#xff0c;提供SQL查詢功能&#xff0c;能將SQL語句轉變成MapReduce任務來執行…

深入理解PHP中的命名空間和自動加載機制

首先&#xff0c;讓我們來討論命名空間。PHP的命名空間是一種對代碼進行邏輯分組的機制&#xff0c;它允許開發者將函數、類和常量封裝在不同的命名空間中。這樣做的好處在于可以避免全局范圍內的名稱沖突。例如&#xff0c;你可能在你的項目中使用了一個名為"Database&qu…

學習:JS[3]數組的增刪改查+函數+作用域

一.操作數組1.改2.增arr.push(新增的內容):將一個或多個元素添加到數組的結尾arr.unshift(新增的內容):方法將一個或多個元素添加到數組的開頭,并返回該數組的長度3.刪除arr.pop():方法從數組中刪除最后一個元素,不帶參數,并返回元素的值arr.shift():方法從數組中刪除第一個元素…

從0到1搭建ELK日志收集平臺

ELK是什么 ELK 是指 Elasticsearch、Logstash 和 Kibana 這三種工具的組合&#xff0c;通常用于日志分析、數據搜索和可視化。它們分別承擔不同的功能&#xff0c;形成了強大的數據處理和分析平臺&#xff1a; Elasticsearch&#xff1a;一個分布式搜索引擎&#xff0c;擅長實時…

Qt:圖片切割

void MainWindow::on_action_slice_triggered() {QDialog *dialog new QDialog(this);dialog->setWindowTitle("切割");dialog->setFixedSize(200, 150);QVBoxLayout *vbox new QVBoxLayout;QHBoxLayout *hbox new QHBoxLayout;QLabel *label new QLabel(&…

BabelDOC,一個專為學術PDF文檔設計的翻譯和雙語對比工具

你是否也有這樣的困境&#xff0c;面對一篇學術論文&#xff0c;即使英語水平不錯&#xff0c;仍需反復查詞典&#xff0c;尤其是遇到專業術語和復雜長句&#xff0c;翻譯軟件又常常不能很好地處理學術PDF的排版&#xff0c;導致翻譯結果混亂不堪。 現在&#xff0c;解決你煩惱…

Python之面向對象和類

一.類1.類的定義&#xff1a;class 類名&#xff1a;“”“注釋 ”“”pass2.實例的創建&#xff1a;實例 類名(parameterlist)parameterlist&#xff1a;定義類時__init__()方法的參數&#xff0c;如果該方法只有一個self參數&#xff0c;parameterlist可以省略class Goose()…

【力扣 困難 C】329. 矩陣中的最長遞增路徑

目錄 題目 解法一 題目 待添加 解法一 int max(int a, int b) {return a > b ? a : b; }int search(int** matrix, int m, int n, int i, int j, int (*dp)[n]) {if (dp[i][j]) {return dp[i][j];}int len 0;if (i > 0 && matrix[i - 1][j] > matrix[i]…

Blueprints - UE5的增強輸入系統

一些學習筆記歸檔&#xff1b;增強輸入系統由兩部分組成&#xff1a;Input Action和Input Mapping ContextInput Action是輸入操作的映射&#xff08;操作中比如有移動、跳躍等&#xff09;&#xff0c;Input Mapping Context是輸入情境的映射&#xff08;對各種操作的具體按鍵…

Python 【技術面試題和HR面試題】? 動態類型、運算符、輸入處理及算法編程問答

1.技術面試題 &#xff08;1&#xff09;TCP與UDP的區別是什么&#xff1f; 答&#xff1a; ①連接性&#xff1a;TCP 面向連接&#xff0c;3次握手及4次揮手&#xff0c;建立端到端的虛鏈路像&#xff1b;UDP 無連接&#xff0c;直接發送&#xff0c;無需預先建立連接 。 ②傳…

etcd-cpp-apiv3 二次封裝

接口介紹頭文件#include <etcd/Client.hpp> #include <etcd/KeepAlive.hpp> #include <etcd/Response.hpp> #include <etcd/SyncClient.hpp> #include <etcd/Value.hpp> #include <etcd/Watcher.hpp>下面從功能介紹幾個類的概念Value &…

【網絡與系統安全】強制訪問控制——Biba模型

一、模型定義與目標 提出背景&#xff1a;1977年由Ken Biba提出&#xff0c;是首個完整性安全模型&#xff0c;與BLP模型形成對偶&#xff08;BLP關注機密性&#xff0c;Biba關注完整性&#xff09;。核心目標&#xff1a;防止低完整性信息污染高完整性信息&#xff0c;避免未授…

從架構抽象到表達范式:如何正確理解系統架構中的 4C 模型20250704

&#x1f9e9; 從架構抽象到表達范式&#xff1a;如何正確理解系統架構中的 4C 模型&#xff1f; “4C”到底是架構的組成結構&#xff0c;還是架構圖的表現方式&#xff1f;這類看似細節的問題&#xff0c;其實直擊了我們在系統設計中認知、表達與落地之間的張力。 &#x1f5…

Debian10安裝Mysql5.7.44 筆記250707

Debian10安裝Mysql5.7.44 筆記250707 1?? 參考 1 在Debian 10 (Buster) 上安裝 MySQL 5.7.44 的步驟如下&#xff1a; 1. 添加 MySQL APT 倉庫 MySQL 官方提供了包含特定版本的倉庫&#xff1a; # 下載倉庫配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.28…

20250706-6-Docker 快速入門(上)-鏡像是什么?_筆記

一、鏡像是什么&#xfeff;1. 一個分層存儲的文件&#xff0c;不是一個單一的文件分層結構: 與傳統ISO文件不同&#xff0c;Docker鏡像由多個文件組成&#xff0c;采用分層存儲機制存儲優勢: 每層可獨立復用&#xff0c;顯著減少磁盤空間占用&#xff0c;例如基礎層可被多個鏡…

[SystemVerilog] Clocking

SystemVerilog Clocking用法詳解 SystemVerilog 的 clocking 塊&#xff08;Clocking Block&#xff09;是一種專門用于定義信號時序行為的構造&#xff0c;主要用于驗證環境&#xff08;如 UVM&#xff09;中&#xff0c;以精確控制信號的采樣和驅動時序。clocking 塊通過將信…