滲透測試中的那些“水洞”:分析與防御

1. Nginx 版本泄露

風險分析:
Nginx 默認會在響應頭中返回 Server: nginx/x.x.x,攻擊者可利用該信息匹配已知漏洞進行攻擊。

防御措施:

  • 修改 nginx.conf 配置文件,隱藏版本信息:
    server_tokens off;
    
  • 使用 WAF 進行信息隱藏。

2. Tomcat 默認報錯頁面

風險分析:
Tomcat 默認錯誤頁面可能會泄露服務器版本、堆棧信息等,幫助攻擊者制定攻擊策略。

防御措施:

  • 修改 web.xml,自定義錯誤頁面:
    <error-page><error-code>500</error-code><location>/custom_500.html</location>
    </error-page>
    
  • 關閉 server.xml 中的 server 頭信息。

3. IIS 版本泄露

風險分析:
IIS 默認會在 Server 頭中返回版本信息,如 Server: Microsoft-IIS/10.0,幫助攻擊者匹配漏洞。

防御措施:

  • web.config 文件中添加:
    <system.webServer><security><requestFiltering removeServerHeader="true" /></security>
    </system.webServer>
    
  • 配置 WAF 進行信息隱藏。

4. jQuery 版本泄露

風險分析:
如果前端頁面暴露了 jQuery 版本,如 jquery-1.12.4.js,攻擊者可查找該版本的公開漏洞并利用。

防御措施:

  • 使用 CDN 或混淆 JavaScript 文件,避免暴露版本信息。
  • 及時更新 jQuery 版本,避免使用已知存在漏洞的版本。

5. X-Powered-By 信息泄露

風險分析:
X-Powered-By 頭通常包含服務器的運行環境(如 PHP/5.4.16),攻擊者可利用該信息匹配已知漏洞進行攻擊。

防御措施:

  • 在 Nginx 配置中移除:
    fastcgi_hide_header X-Powered-By;
    
  • 在 PHP 配置文件 php.ini 中禁用:
    expose_php = Off
    

6. X-Frame-Options 響應頭丟失

風險分析:
缺少 X-Frame-Options 頭會使站點容易受到 Clickjacking 攻擊。

防御措施:

  • 在 Nginx 配置中添加:
    add_header X-Frame-Options DENY;
    
  • 在 Apache 配置中添加:
    Header always set X-Frame-Options "SAMEORIGIN"
    

7. Content-Security-Policy 頭缺失

風險分析:
Content-Security-Policy (CSP) 頭缺失會導致網站容易受到 XSS 攻擊。

防御措施:

  • 在 Nginx 配置中添加:
    add_header Content-Security-Policy "default-src 'self'; script-src 'self'";
    

8. TRACE 方法啟用

風險分析:
TRACE 方法可被利用進行 Cross-Site Tracing (XST) 攻擊,泄露 HTTP 頭信息。

防御措施:

  • 在 Apache 配置中禁用:
    TraceEnable Off
    
  • 在 Nginx 配置中攔截:
    if ($request_method = TRACE) {return 405;
    }
    

9. 使用有漏洞的組件

風險分析:
老舊或有漏洞的第三方庫、框架可被攻擊者利用。

防御措施:

  • 定期檢查依賴組件版本(如 npm auditOWASP Dependency-Check)。
  • 及時更新框架和庫。

10. 緩慢的 HTTP 拒絕服務攻擊(Slowloris)

風險分析:
攻擊者使用 Slowloris 發送部分 HTTP 請求,占用服務器資源,導致拒絕服務。

防御措施:

  • 配置 Nginx 限制請求速率:
    limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
    limit_conn conn_limit 10;
    
  • 使用 mod_reqtimeout 模塊(Apache)。

11. 目標服務器啟用了不安全 HTTP 方法

風險分析:
如果啟用了 PUTDELETE 等方法,攻擊者可能上傳惡意文件或刪除資源。

防御措施:

  • 在 Nginx 配置中僅允許安全方法:
    if ($request_method !~ ^(GET|POST|HEAD)$) {return 405;
    }
    
  • 在 Apache 配置中限制:
    <LimitExcept GET POST>deny from all
    </LimitExcept>
    

12. 缺少 Secure 標識

風險分析:
如果 Session Cookie 沒有 Secure 標識,可能會在非 HTTPS 傳輸中被竊取。

防御措施:

  • Set-Cookie 頭中添加 Secure; HttpOnly; SameSite=Strict
  • nginx.conf 配置:
    add_header Set-Cookie "name=value; Secure; HttpOnly; SameSite=Strict";
    

13. 敏感數據 GET 傳輸

風險分析:
如果敏感信息(如 passwordtoken)通過 GET 傳輸,可能會被日志記錄或瀏覽器緩存暴露。

防御措施:

  • 采用 POST 方式傳輸敏感數據。
  • 通過 Referer-Policy 限制 Referer 頭泄露:
    add_header Referrer-Policy "strict-origin";
    

14. SSL 證書無效

風險分析:
無效的 SSL 證書可能會導致用戶數據被中間人攻擊竊取。

防御措施:

  • 使用受信任的 CA 機構簽發證書,如 Let's EncryptDigiCert
  • 啟用 HSTS 頭,防止降級攻擊:
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    

結論

以上是常見的 Web 安全“水洞”,這些配置問題雖然看似微不足道,但往往成為攻擊者突破系統安全防線的關鍵點。企業應定期進行安全審計、修復漏洞,確保 Web 應用的安全性。

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

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

相關文章

基于C#開發的適合Windows開源文件管理器

使用DDD從零構建一個完整的系統 推薦一個功能強大且直觀的開源文件管理器&#xff0c;適用于Windows平臺。 01 項目簡介 該項目是一個基于C#開發、開源的文件管理器&#xff0c;適用于Windows&#xff0c;界面UI美觀、方便輕松瀏覽文件。此外&#xff0c;支持創建和提取壓縮…

實習入職的總結

我是4月14號入職的&#xff0c;到現在差不多已經三個禮拜了&#xff0c;今天想總結一下這段時間的工作情況&#xff0c;并給學弟學妹們提供一些指引。 目前&#xff0c;我所在的公司是一家初創企業&#xff0c;專注于IPC安防領域。作為一名大專生&#xff0c;我深知自己的學歷在…

Ubuntu 系統上部署 Kubernetes 的完整指南

Ubuntu 系統上部署 Kubernetes 的完整指南 一、環境準備&#xff08;Ubuntu 22.04/24.04&#xff09;1. 系統初始化2. 安裝容器運行時&#xff08;containerd&#xff09;3. 安裝 Kubernetes 組件&#xff08;kubeadm, kubelet, kubectl&#xff09; 二、部署 Kubernetes 集群1…

partition_pdf 和chunk_by_title 的區別

from unstructured.partition.pdf import partition_pdf from unstructured.chunking.title import chunk_by_titlepartition_pdf 和 chunk_by_title 初看有點像&#xff0c;都在"分塊"&#xff0c;但是它們的本質完全不一樣。 先看它們核心區別 partition_pdfchun…

基于深度學習的醫療診斷輔助系統設計

標題:基于深度學習的醫療診斷輔助系統設計 內容:1.摘要 隨著醫療數據的爆炸式增長和深度學習技術的飛速發展&#xff0c;開發基于深度學習的醫療診斷輔助系統具有重要的現實意義。本研究的目的在于設計一個高效、準確的醫療診斷輔助系統&#xff0c;以輔助醫生進行更精準的診斷…

Matlab/Simulink - BLDC直流無刷電機仿真基礎教程(四) - PWM調制模擬

Matlab/Simulink - BLDC直流無刷電機仿真基礎教程&#xff08;四&#xff09; - PWM調制模擬 前言一、PWM調制技術基本原理二、仿真模型中加入PWM調制三、逆變電路MOS管添加體二極管四、模擬添加機械負載五、仿真模型與控制框圖文章相關模型文件下載鏈接參考鏈接 前言 本系列文…

Curl 全面使用指南

Curl&#xff08;Client URL&#xff09;是一個跨平臺命令行工具&#xff0c;支持多種協議&#xff08;HTTP/HTTPS/FTP/SFTP等&#xff09;&#xff0c;用于數據傳輸、API調試、文件上傳/下載等場景。以下從 核心功能、用戶疑問解答、高級技巧 三方面系統總結&#xff0c;并整合…

PyTorch中“原地”賦值的思考

在開發一個PyTorch模塊時&#xff0c;遇到了一個詭異的現象&#xff0c;將他描述出來就是下面這樣&#xff1a; f[..., :p_index - 1] f[..., 1:p_index] 這個操作將f張量的部分數值進行左移&#xff0c;我在模型訓練的時候還能正常跑&#xff0c;但是當我將模型部署到項目中…

什么是:云邊端一體化架構

什么是云邊端一體化架構 文章目錄 什么是云邊端一體化架構云、邊、端云計算邊緣計算終端設備 云邊端一體化協同云邊端一體化架構協同的流程云邊端一體化架構協同的應用云邊端一體化架構協同的價值云邊端一體化架構協同未來發展趨勢 云、邊、端 云&#xff08;Cloud&#xff09…

gephi繪圖

參考&#xff1a; 如何在Gephi中正確的顯示中文&#xff1f; Gephi繪制網絡圖初步探索 gephi 節點標簽 調節_圖分析與可視化-從Gephi開始

馬克·雷伯特:用算法讓機器人飛奔的人

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 馬克雷伯特:用算法讓機器人飛奔的人 一、天才的起點 在機器人領域,有一個名字如雷貫耳——馬克雷伯特(Marc Raibert)。作為波士頓動力公司(Boston…

三維裝配可視化界面開發筆記

三維裝配可視化界面開發筆記 項目概述 這是一個基于Vue.js和Three.js的三維裝配可視化系統&#xff0c;用于展示機械零部件的裝配和拆解過程。系統支持模型加載、拆解/裝配路徑生成、動畫展示和工藝流程圖生成等功能。 技術棧 前端框架: Vue 3 (使用組合式API)構建工具: Vi…

深?理解指針(8)

1.對上一篇的補充內容 typedef int* ptr_t #define PTR_T int* 這兩種寫法都是可以的 ptr_t p1, p2; //p1, p2 都是指針變量 PTR_T p3, p4; //p3 是指針變量, p4是整型變量 為什么p3 是指針變量, p4是整型變量呢&#xff1f; 因為PTR_T 真的被改為了 int* 在編譯器中…

neo4j暴露公網ip接口——給大模型聯通知識圖譜

特別鳴謝 我的領導&#xff0c;我的腦子&#xff0c;我的學習能力&#xff0c;感動了 1. 搭建知識圖譜數據庫&#xff08;見上一章博客&#xff09; 這里不加贅述了&#xff0c;請參考上一篇博客搭建 2. FastApi包裝接口 這里注意&#xff1a;NEO4J_URI不得寫http:,只能寫…

AI編程新選擇!VSCode + RooCode,超越Cursor?

在當今快節奏的開發環境中&#xff0c;AI編程助手已經成為提升開發效率的關鍵工具。然而&#xff0c;面對眾多選擇&#xff0c;開發者往往陷入糾結&#xff1a;如何在眾多AI編程工具中找到最適合自己的方案&#xff1f;尤其是當VSCode搭配RooCode時&#xff0c;相比Cursor&…

電子病歷高質量語料庫構建方法與架構項目(環境聆聽與自動化文檔生成篇)

電子病歷高質量語料庫的構建是一個復雜而系統的工程,涉及數據收集、清洗、標注、驗證等多個環節。在項目實施過程中,"環境聆聽"和"自動化文檔生成"是兩個關鍵支撐要素,前者確保項目能夠適應不斷變化的技術和業務環境,后者則保障項目過程的可追溯性和知…

Python協程入門指北

一、什么是協程&#xff1f; 協程&#xff08;Coroutine&#xff09;就像可以暫停執行的函數&#xff0c;能夠在執行過程中主動讓出控制權&#xff0c;等準備好后再繼續執行。 生活小例子 想象你在咖啡店排隊&#xff1a; 普通函數&#xff1a;必須一直排到取餐&#xff08…

mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz的下載安裝和使用

資源獲取鏈接&#xff1a; mysql-5.7.24-linux-glibc2.12-x86-64.tar.gz和使用說明資源-CSDN文庫 詳細作用 數據庫服務器的核心文件&#xff1a; 這是一個壓縮包&#xff0c;解壓后包含 MySQL 數據庫服務器的可執行文件、庫文件、配置文件模板等。 它用于在 Linux 系統上安裝…

C++筆記-繼承(下)(包含派生類的默認成員函數,菱形繼承等)

一.派生類的默認成員函數 1.14個常見默認成員函數 默認成員函數&#xff0c;默認的意思就是指我們不寫&#xff0c;編譯器會自動為我們生成一個&#xff0c;那么在派生類中&#xff0c;這幾個成員函數是如何生成的呢&#xff1f; 1.派生類的構造函數必須調用基類的構造函數初…

C++中指針使用詳解(3)數組、指針和函數參數傳遞的底層 ABI實現

要深入理解 數組、指針和函數參數傳遞 的底層 ABI&#xff08;Application Binary Interface&#xff09;實現&#xff0c;需要從以下幾個維度出發進行學習&#xff1a; 一、什么是 ABI&#xff1f; ABI 是編譯器和操作系統之間的協定&#xff0c;規定了&#xff1a; 函數如何…