網絡安全滲透測試概論

滲透測試,也稱為滲透攻擊測試是一種通過模擬惡意攻擊者的手段來評估計算機系統、網絡或應用程序安全性的方法。

目的

旨在主動發現系統中可能存在的安全漏洞、脆弱點以及潛在風險,以便在被真正的惡意攻擊者利用之前,及時進行修復和加固,從而提升整體的安全防護水平。

滲透測試的具體流程一般包括以下幾個階段:

規劃與準備階段

  • 明確目標:與客戶溝通,確定測試的具體目標,如評估系統的安全性、查找特定類型的漏洞等,以及明確測試的范圍,包括具體的 IP 地址段、域名、應用程序模塊等,同時確定測試規則,如是否允許進行漏洞利用、是否可以提升權限、能否破壞數據等。
  • 收集信息:盡可能多地收集目標系統的相關信息,如網絡拓撲結構、系統架構、應用程序的功能和技術棧、服務器類型、數據庫類型、用戶信息等。收集方式包括主動收集,如直接訪問、掃描網站等,和被動收集,如通過搜索引擎、社交媒體等查找相關信息。

信息收集與分析階段

  • 網絡掃描:使用專業的網絡掃描工具,如 Nmap 等,對目標網絡進行掃描,獲取開放的端口、運行的服務、網絡設備等信息,確定可能存在漏洞的入口點。
  • 應用程序分析:對目標應用程序進行深入分析,包括查看頁面源代碼、分析應用程序的業務邏輯、識別輸入輸出點等,以發現潛在的漏洞,如 SQL 注入、跨站腳本攻擊、文件上傳漏洞等.
  • 漏洞研究:關注最新的安全漏洞信息和行業動態,了解目標系統所使用的技術和軟件中可能存在的已知漏洞,以及攻擊者可能利用的攻擊方法和工具。

漏洞探測與驗證階段

  • 漏洞掃描:利用漏洞掃描工具,如 Nessus、OpenVAS 等,對目標系統進行全面的漏洞掃描,自動檢測常見的網絡漏洞、應用程序漏洞和系統配置錯誤等.
  • 手工測試:對于一些復雜的或難以通過工具檢測到的漏洞,進行手工測試。例如,通過手動構造特殊的輸入數據來測試輸入框是否存在漏洞,或者對登錄認證機制進行深入的測試,以發現可能的身份驗證繞過漏洞.
  • 漏洞驗證:對掃描和手工測試發現的漏洞進行驗證,排除誤報。通過搭建模擬測試環境,重現漏洞的利用過程,確保所發現的漏洞是真實存在且可被利用的.

漏洞利用階段

  • 制定攻擊計劃:根據驗證后的漏洞信息,分析漏洞的原理、可利用的工具和方法,以及目標系統的檢測機制和防御措施,制定詳細的攻擊計劃,包括攻擊的步驟、所需的工具和資源、預期的結果等.
  • 實施攻擊:按照攻擊計劃,謹慎地對目標系統實施攻擊,嘗試獲取系統的控制權、訪問敏感信息或執行其他惡意操作,以評估漏洞的嚴重性和可能造成的影響。在攻擊過程中,需要記錄攻擊的詳細過程和結果,包括所使用的工具、命令、獲取到的信息等1.

后滲透階段

  • 權限提升:如果在漏洞利用階段獲得了較低權限的訪問權限,嘗試通過各種技術手段提升權限,以獲取更高的系統控制權,如利用操作系統或應用程序的漏洞來獲取管理員權限.
  • 橫向移動:在獲得了一定的權限后,嘗試在目標系統內部進行橫向移動,訪問其他相關的系統、服務器或網絡段,以擴大攻擊的范圍和影響,查找更多的敏感信息或可利用的漏洞.
  • 數據竊取與篡改:根據測試的目標和授權范圍,嘗試竊取敏感數據,如用戶賬號密碼、客戶信息、商業機密等,或者對數據進行篡改,以評估數據的安全性和完整性.

報告與總結階段

  • 整理信息:對滲透測試的整個過程進行全面的整理和分析,包括收集到的信息、發現的漏洞、漏洞利用的過程和結果、對系統造成的影響等,為編寫測試報告提供詳細的素材.
  • 編寫報告:撰寫詳細的滲透測試報告,報告內容應包括測試目標、范圍、方法、發現的漏洞詳情(漏洞名稱、類型、嚴重程度、位置等)、攻擊過程、風險評估、修復建議等,使客戶能夠清晰地了解系統的安全狀況和存在的問題1.
  • 報告審核與提交:對編寫好的測試報告進行審核,確保報告的準確性、完整性和專業性。審核通過后,將報告提交給客戶,并向客戶解釋報告中的內容和發現的問題,提供相應的技術支持和建議

常用方法和工具

  • 方法:包括黑盒測試(測試者完全不了解目標系統內部結構,從外部模擬攻擊者進行測試)、白盒測試(測試者擁有目標系統內部的詳細資料,進行更全面深入的漏洞查找)以及灰盒測試(介于黑盒和白盒之間,知曉部分內部信息)等。
  • 工具:例如 Nmap(用于網絡掃描、發現開放端口等信息收集工作)、Metasploit(能夠幫助進行漏洞利用等操作的強大框架)、Sqlmap(專門針對 SQL 注入漏洞檢測和利用的工具)等眾多安全測試工具。

重要性

隨著網絡技術發展以及網絡攻擊日益復雜,滲透測試可以提前幫助企業、組織等提前發現安全隱患,避免因安全漏洞被利用而遭受數據泄露、業務中斷、聲譽受損等嚴重后果,在保障信息安全方面起著至關重要的作用。

滲透測試一般需要多少時間?

滲透測試所需的時間因多種因素而異,以下是具體分析:

目標系統的規模和復雜程度

  • 小型系統或應用
    • 例如一個簡單的企業宣傳網站,只有幾個頁面,主要功能是展示信息,沒有復雜的交互功能(如用戶登錄、評論等),也沒有與其他系統集成。這樣的目標可能只需要幾天時間。
    • 首先信息收集階段可能花費半天到一天,通過自動化工具掃描端口、獲取網站基本架構信息等。漏洞探測和利用可能需要一到兩天,主要檢查常見的 Web 漏洞如 SQL 注入、XSS 等。最后生成報告一天,總共大約 3 - 4 天。
  • 中型系統或網絡
    • 以一個包含用戶管理系統(如會員注冊、登錄、權限管理)、商品展示與交易功能的電商網站為例。它可能有多個子系統,并且與數據庫、支付網關等外部系統有交互。
    • 信息收集階段可能需要 2 - 3 天,因為需要深入了解各個子系統之間的關聯、所使用的技術棧等。漏洞探測和利用階段可能持續 3 - 5 天,要檢查復雜的業務邏輯漏洞、接口安全等。報告生成可能需要 1 - 2 天,總共大約 6 - 10 天。
  • 大型復雜系統或網絡環境
    • 像大型金融機構的網絡系統,包含眾多服務器、多個業務系統(網上銀行、理財系統、信貸系統等),且有嚴格的安全防護機制(如防火墻、入侵檢測系統等)。
    • 信息收集可能需要一周左右,因為要梳理復雜的網絡拓撲結構、業務流程,以及應對各種安全防護設備的干擾。漏洞探測和利用可能持續 2 - 3 周,需要深入挖掘深層次的安全隱患,如復雜的分布式系統中的權限提升漏洞等。報告生成可能需要 3 - 5 天,整個過程可能需要 3 - 5 周甚至更長時間。

測試范圍和要求

  • 有限范圍測試
    • 如果只是對特定功能模塊進行滲透測試,比如只測試一個電商網站的用戶登錄和支付模塊,時間會相對較短。
    • 信息收集可能集中在這兩個模塊相關的部分,花費 1 - 2 天。漏洞探測和利用大概 2 - 3 天,報告生成 1 天左右,總共 4 - 6 天。
  • 全面測試
    • 當要求對整個系統的所有功能、所有可能的入口點進行全面滲透測試時,時間會顯著增加。
    • 例如對一個包含多個業務系統的企業網絡進行全面測試,從網絡層到應用層的各個環節都不放過,這種情況下時間可能是有限范圍測試的 2 - 3 倍甚至更多。

測試方法

  • 黑盒測試
    • 由于測試人員對系統內部結構了解有限,需要花費更多時間進行信息收集和探索。
    • 比如對于一個復雜的企業資源規劃(ERP)系統進行黑盒測試,信息收集可能需要 3 - 5 天,漏洞探測和利用 5 - 7 天,報告生成 2 - 3 天,總共 10 - 15 天。
  • 白盒測試
    • 因為測試人員可以獲取系統內部代碼、架構等詳細信息,在信息收集階段會節省很多時間。
    • 對于同樣的 ERP 系統,信息收集可能 1 - 2 天,漏洞探測和利用 4 - 6 天,報告生成 2 天左右,總共 7 - 10 天。

漏洞數量和修復情況

  • 如果發現的漏洞較少且容易修復
    • 測試過程可能會比較順利,時間也會相對較短。例如在一個小型內部辦公系統的測試中,發現少量的低風險漏洞,如簡單的弱口令問題和信息泄露漏洞,修復這些漏洞并重新驗證可能只需要額外 1 - 2 天時間。
  • 如果發現大量高風險漏洞或者漏洞修復后又引出新的問題
    • 這會導致測試周期延長。例如在一個大型軟件系統中發現了多個深層次的權限繞過漏洞,開發團隊在修復過程中可能會引入新的兼容性問題或者邏輯錯誤,需要反復測試和驗證,可能會使整個滲透測試周期延長數周。

在滲透測試的漏洞探測和利用階段,常見的漏洞有以下幾類:

注入類漏洞

  • SQL 注入漏洞:網站應用程序在編寫時未對用戶提交至服務器的數據進行合法性校驗,未有效過濾特殊字符,導致攻擊者可通過在輸入框等位置注入惡意 SQL 語句,獲取或修改敏感數據、控制 Web 應用程序等,比如通過構造特定的 SQL 語句繞過登錄驗證,獲取管理員權限
  • 命令注入漏洞:代碼未對用戶可控參數做過濾,導致直接帶入執行命令的代碼中,攻擊者可利用此漏洞執行任意命令,如在系統命令執行的輸入框中輸入惡意命令,從而控制服務器
  • 代碼注入漏洞:服務器端沒有針對執行函數做過濾,用戶通過瀏覽器提交執行命令,會導致服務器端程序執行一個惡意構造的代碼,進而實現對服務器的控制等操作

跨站腳本類漏洞

  • 反射型 XSS 漏洞:攻擊者通過使用帶有惡意腳本的鏈接接觸用戶,由用戶觸發 XSS 來實現攻擊。用戶收到帶有惡意腳本的鏈接并訪問目標服務器后,服務器返回的 HTML 頁面會將未過濾的用戶輸入記入 XSS,該部分惡意代碼向惡意服務器發起請求,攻擊者從而獲取用戶原始輸入.
  • 存儲型 XSS 漏洞:攻擊者繞開用戶層預先在目標數據庫鋪底惡意腳本,當用戶正常操作訪問服務器并觸發該部分 XSS 時,HTML 展示預期內容同時將未過濾的用戶輸入記入 XSS,惡意代碼向惡意服務器發起請求,攻擊者進而獲取用戶原始輸入,可實現信息竊取和后續攻擊,相對反射型更加隱蔽.
  • DOM 型 XSS 漏洞:基于文檔對象模型的一種漏洞,通過利用當前 URL 將返回的 HTML 靜態文本寫入 DOM 中的 document 當做 JavaScript 代碼執行,從而導致敏感信息泄露。攻擊者給用戶發送目標 URL,用戶訪問目標服務器后,服務器返回包含 JavaScript 的 HTML 展示給用戶,該部分 XSS 利用 URL 返回給攻擊者,使其獲取敏感信息并對目標發起攻擊

越權類漏洞

  • 水平越權漏洞:角色權限相同的用戶之間能非法地互相操作對方的數據。例如通過代理抓包,截取用戶 A 登錄時的 web 請求報文,然后分析其 cookie、uid 等信息,將相關值篡改為用戶 B 的信息,從而發掘該類漏洞.
  • 垂直越權漏洞:不同角色權限的用戶之間能非法地互相操作對方的數據。比如篡改目標用戶為系統管理員等更高權限的用戶,從而達到獲取不同層級權限的目的.

文件操作類漏洞

  • 文件上傳漏洞:文件上傳功能模塊或接口,未對文件類型、附件大小等信息進行校驗,導致攻擊者可通過文件上傳接口上傳惡意文件。若上傳的文件類型和訪問權限不作控制,攻擊者可上傳惡意腳本或后門程序,獲取服務器權限,控制服務器,甚至消耗服務器資源使其拒絕服務進而癱瘓
  • 文件包含漏洞:多數情況出現在 PHP 中,也存在于 JSP 中,分為本地包含與遠程包含。攻擊者可利用此漏洞包含惡意文件,從而執行其中的惡意代碼,獲取服務器控制權等
  • 目錄遍歷漏洞:攻擊者可通過該漏洞獲取系統文件及服務器的配置文件,利用服務器 API 及文件標準權限進行攻擊,從而獲取敏感信息,進一步了解系統架構和配置,為后續攻擊做準備

認證與授權類漏洞

  • 弱口令漏洞:通常認為容易被別人猜測到或被破解工具破解的口令均為弱口令,包括后臺管理員弱口令、用戶弱口令、主機系統弱口令、路由器弱口令、交換機弱口令等。攻擊者可通過暴力破解等方式獲取弱口令,進而登錄系統,獲取相應權限
  • 身份驗證繞過漏洞:由于應用程序在身份驗證流程中存在缺陷,導致攻擊者可以繞過正常的登錄驗證過程,直接訪問需要授權才能訪問的頁面或執行相關操作,從而獲取敏感信息或執行惡意操作

配置錯誤類漏洞

  • 默認或弱密碼配置:系統、設備或應用程序使用默認的用戶名和密碼,或者設置的密碼強度過低,容易被攻擊者破解,從而導致未經授權的訪問
  • 開放或不安全的端口和服務:服務器開放了不必要的端口或運行了不安全的服務,這些端口和服務可能存在已知的漏洞,容易被攻擊者利用,進而入侵系統
  • 未打補丁或過時的軟件:系統或應用程序未及時更新補丁,存在已知的安全漏洞,攻擊者可利用這些漏洞進行攻擊,獲取系統權限或破壞系統功能.
  • 錯誤的權限和訪問控制設置:系統的權限和訪問控制配置不當,導致用戶或攻擊者可以訪問到超出其權限范圍的資源或執行未授權的操作,從而引發安全風險

社會工程學類漏洞

  • 網絡釣魚:攻擊者通過偽造合法的網站、電子郵件、即時通訊等方式,誘騙用戶輸入敏感信息,如用戶名、密碼、銀行卡號等,從而獲取用戶的個人信息和賬號密碼,進而進行非法操作
  • 欺騙誘導:攻擊者通過偽裝成合法的用戶、管理員或其他可信人員,與目標進行交流,獲取敏感信息或誘導目標執行特定操作,如點擊惡意鏈接、下載惡意文件等,從而達到攻擊目的

滲透測試的報告通常包含哪些內容?

滲透測試報告是滲透測試過程的關鍵產出,用于向系統所有者或安全管理人員呈現測試的詳細情況。一份完整的滲透測試報告通常包含以下內容:

1. 概述

  • 測試目標:明確闡述本次滲透測試所針對的系統、網絡、應用程序或特定功能模塊。例如,“本次滲透測試的目標是對 XX 公司的在線購物網站(包括網站前端、后端服務器以及數據庫)進行安全性評估”。
  • 測試范圍:詳細說明測試覆蓋的范圍,包括 IP 地址段、域名、網絡協議、應用程序的功能模塊、操作系統類型等。例如,“測試范圍涵蓋了購物網站主域名及其子域名下的所有網頁,包括用戶注冊 / 登錄、商品展示、購物車、支付等功能模塊,以及支撐網站運行的 Web 服務器(IP 地址為 XX.XX.XX.XX - XX.XX.XX.XX)和數據庫服務器”。
  • 測試日期:記錄滲透測試實際開展的日期范圍,這有助于追蹤測試時效性和系統在特定時間段內的安全狀況。例如,“本次測試于 20XX 年 X 月 X 日開始,至 20XX 年 X 月 X 日結束”。

2. 測試方法

  • 測試類型:說明所采用的滲透測試類型,如黑盒測試、白盒測試或灰盒測試,并簡要解釋為何選擇該類型。例如,“本次測試采用黑盒測試方法,因為模擬外部攻擊者在對目標系統沒有內部知識的情況下進行攻擊,能夠更好地發現系統對外暴露的安全隱患”。
  • 工具和技術:列出在測試過程中使用的主要工具(如 Nmap、Metasploit、Sqlmap 等)和技術手段(如端口掃描、漏洞掃描、社會工程學攻擊模擬等),并簡要描述其用途。例如,“使用 Nmap 進行網絡端口掃描,以發現目標服務器開放的端口和服務;利用 Metasploit 框架對發現的漏洞進行驗證和利用嘗試;通過 Sqlmap 工具檢測 SQL 注入漏洞”。

3. 漏洞詳情

  • 漏洞分類和描述:將發現的漏洞按照類型進行分類(如注入漏洞、跨站腳本漏洞、越權漏洞等),并對每個漏洞進行詳細的描述。包括漏洞的名稱、位置(如具體的 URL、文件路徑、功能模塊等)、漏洞產生的原因(例如代碼邏輯錯誤、配置不當、輸入驗證缺失等)。例如,“發現 SQL 注入漏洞,位于網站用戶登錄頁面(https://example.com/login.php)。原因是用戶輸入的用戶名和密碼字段在傳入數據庫查詢時,未進行充分的過濾和轉義,導致攻擊者可以通過輸入惡意 SQL 語句來繞過登錄驗證”。
  • 漏洞危害程度評估:對每個漏洞的危害程度進行評估,通常采用高、中、低等級別來劃分。評估因素包括漏洞被利用后可能導致的后果(如數據泄露、系統癱瘓、權限提升等)、攻擊的復雜度、受影響的范圍等。例如,“此 SQL 注入漏洞被評估為高危害程度,因為攻擊者一旦利用該漏洞,可獲取數據庫中的所有用戶敏感信息(包括用戶名、密碼、個人資料等),并且可以通過數據庫進一步控制整個網站系統”。
  • 漏洞證明(PoC):對于關鍵漏洞,提供漏洞證明(Proof of Concept),即通過示例代碼、請求 / 響應報文、操作步驟等方式展示漏洞是如何被發現和利用的。這有助于技術人員更好地理解漏洞的本質。例如,“通過在登錄頁面的用戶名輸入框中輸入‘admin’ or ‘1’=‘1’ --’,成功繞過登錄驗證,直接登錄到管理員賬戶,以下是請求報文:[具體報文內容]”。

4. 風險評估

  • 風險矩陣:結合漏洞的危害程度和被利用的可能性,構建風險矩陣來直觀地展示每個漏洞的風險等級。例如,將危害程度高且被利用可能性高的漏洞標記為 “高風險”,危害程度中等但被利用可能性高的漏洞標記為 “中高風險” 等。
  • 業務影響分析:分析每個漏洞如果被利用可能對業務造成的影響,包括對數據安全、業務連續性、企業聲譽等方面的影響。例如,“如果支付模塊的漏洞被利用,可能導致客戶資金被盜取,引發嚴重的客戶信任危機,對公司業務造成毀滅性打擊”。

5. 建議和修復措施

  • 針對每個漏洞的修復建議:為每個發現的漏洞提供詳細的修復建議,包括具體的技術措施(如代碼修改、配置調整、安全策略更新等)。例如,“對于 SQL 注入漏洞,建議在用戶輸入驗證階段,對所有輸入數據進行嚴格的過濾和轉義,使用參數化查詢來防止 SQL 語句被篡改;同時,對數據庫進行最小權限原則配置,限制數據庫賬戶的權限”。
  • 安全加固策略和最佳實踐:除了針對具體漏洞的修復建議外,還可以提供一般性的安全加固策略和最佳實踐,如定期更新軟件和系統補丁、加強用戶認證和授權管理、實施網絡訪問控制等。例如,“建議定期對服務器操作系統、Web 應用程序和數據庫進行補丁更新,以修復已知的安全漏洞;采用多因素認證方式來加強用戶登錄的安全性”。

6. 總結

  • 測試結果總結:對整個滲透測試的結果進行總結,包括發現的漏洞總數、不同危害程度漏洞的分布情況、總體風險評估等。例如,“本次滲透測試共發現 10 個漏洞,其中高危害程度漏洞 3 個,中危害程度漏洞 4 個,低危害程度漏洞 3 個。總體風險評估為高風險,需要立即采取措施進行修復和加固”。
  • 后續跟進建議:對系統所有者或安全管理人員提出后續跟進的建議,如定期進行安全審計、滲透測試復查、安全意識培訓等。例如,“建議在完成漏洞修復后的一個月內進行滲透測試復查,以確保漏洞得到有效修復;同時,定期開展安全意識培訓,提高員工對安全威脅的識別能力”。

有哪些工具可以幫助生成滲透測試報告?

以下是一些可以幫助生成滲透測試報告的工具:

1. Metasploit

  • 功能特點:Metasploit 是一款廣為人知的滲透測試框架,它不僅可以用于漏洞利用,還能輔助生成滲透測試報告。它提供了詳細的漏洞信息記錄模塊,在利用漏洞的過程中會收集諸如漏洞名稱、目標系統受影響的服務和端口、利用方式等信息。這些信息可以作為報告的基礎內容。
  • 報告生成方式:通過其內置的報告生成功能,可以將測試過程中的關鍵信息整理成報告格式。例如,它能夠生成 HTML、XML 等格式的報告,包含漏洞摘要、攻擊路徑以及所利用的模塊細節等內容,方便測試人員進行進一步的編輯和完善。

2. Nessus

  • 功能特點:Nessus 是一款功能強大的漏洞掃描工具。在掃描完成后,它會提供一份詳細的漏洞掃描報告。報告內容涵蓋了發現的漏洞列表、漏洞的詳細描述(包括 CVE 編號、漏洞成因、可能導致的風險等)、受影響的資產(如 IP 地址、主機名、服務端口等)。
  • 報告生成方式:可以根據用戶的需求定制報告格式,如 PDF、HTML 等。其報告模板設計精美,包含圖表和統計數據,能夠直觀地展示漏洞分布情況(如按風險等級、漏洞類型等分類),為滲透測試報告提供了豐富的素材。

3. OpenVAS

  • 功能特點:OpenVAS 是一個開源的漏洞評估工具,類似于 Nessus。它能夠對網絡中的各種設備和系統進行全面掃描,收集大量有關安全漏洞的信息。其掃描結果包括漏洞的技術細節、安全建議以及參考的安全標準等內容。
  • 報告生成方式:支持多種報告格式,如 XML、HTML、CSV 等。測試人員可以利用其掃描得到的數據,將其整合到滲透測試報告中。例如,通過提取漏洞詳情和相關建議部分,按照滲透測試報告的結構要求進行重新組織和補充。

4. Dradis

  • 功能特點:Dradis 是一款專門用于信息共享和報告生成的工具,在滲透測試團隊協作中非常有用。它可以收集來自不同掃描工具和測試人員手動記錄的信息,如漏洞信息、測試步驟、發現的問題等,并將這些信息集中存儲在一個平臺上。
  • 報告生成方式:提供了靈活的報告模板,允許測試人員根據具體的項目需求進行定制。可以方便地將存儲在 Dradis 中的各種數據整合到報告中,生成高質量、內容完整的滲透測試報告,涵蓋從目標信息收集階段到漏洞利用和修復建議的全過程。

5. Nmap

  • 功能特點:Nmap 主要用于網絡探測和端口掃描,它可以獲取目標網絡的拓撲結構、開放的端口、運行的服務等信息。這些信息對于滲透測試報告的網絡部分描述非常關鍵,是了解目標系統的第一步。
  • 報告生成方式:雖然 Nmap 本身的輸出主要是文本形式,但可以通過一些工具(如將 Nmap 輸出轉換為 XML 格式后再利用其他腳本進行處理)或者其自帶的一些選項(如 -oX 用于生成 XML 格式的輸出)來將掃描結果轉換為更易于集成到報告中的格式。測試人員可以將 Nmap 掃描得到的網絡信息,如目標主機的 IP 地址范圍、開放的端口和服務等內容添加到滲透測試報告的開頭部分,作為目標系統的基本情況介紹。

網絡安全滲透測試專業名詞

  1. CVE(Common Vulnerabilities and Exposures)
    • 定義:通用漏洞披露,是一個由 MITRE 公司維護的國際權威的安全漏洞字典。它為每個已知的安全漏洞和信息安全隱患分配一個唯一的標識符,方便安全研究人員、企業和安全產品廠商等在全球范圍內統一引用和討論特定的漏洞。
    • 舉例:CVE - 2021 - 44228 是 Log4j2 漏洞的標識符,這個標識符在全球安全領域被廣泛用于指代該特定漏洞,當人們提到這個 CVE 編號時,都知道是在討論 Log4j2 中的嚴重安全問題。
  2. KB(Knowledge Base)
    • 定義:知識庫,在網絡安全滲透測試領域,它可以是安全廠商、軟件開發商或者企業內部積累的關于安全知識、漏洞修復方法、安全配置指南等信息的集合。這些知識可以幫助安全人員更好地理解和處理安全問題。
    • 舉例:微軟的知識庫中包含大量關于 Windows 操作系統安全漏洞的修復補丁說明、安全配置建議等內容,安全人員可以通過查詢微軟 KB 文章來獲取 Windows 系統漏洞的詳細修復步驟。
  3. POC(Proof of Concept)
    • 定義:概念驗證,在滲透測試中是指用于證明漏洞存在的代碼、腳本或者詳細的操作步驟。它可以幫助安全人員和開發人員理解漏洞的原理和可利用性,同時也可以用于驗證漏洞掃描工具發現的疑似漏洞是否真實存在。
    • 舉例:對于一個新發現的 Web 應用程序的 SQL 注入漏洞,安全研究人員可能會編寫一個簡單的 POC,展示如何通過在輸入框中輸入特定的 SQL 語句來獲取數據庫中的敏感信息,以此來證明漏洞是真實可利用的。
  4. EXP(Exploit)
    • 定義:利用,是指針對某個漏洞進行實際攻擊,以獲取系統訪問權限、竊取數據或者破壞系統功能等目的的工具或者代碼。與 POC 不同,EXP 是真正用于攻擊的手段。
    • 舉例:有一個針對操作系統遠程代碼執行漏洞的 EXP,攻擊者可以使用這個 EXP,通過網絡發送惡意數據包到目標系統,觸發漏洞并在目標系統上執行惡意代碼,從而控制目標系統。
  5. VUL(Vulnerability)
    • 定義:漏洞,是指系統、網絡、應用程序等在設計、開發、配置或者維護過程中產生的安全弱點,這些弱點可以被攻擊者利用來實施攻擊,導致信息泄露、系統破壞、權限濫用等安全問題。
    • 舉例:Web 應用中的跨站腳本攻擊(XSS)漏洞、文件上傳漏洞、網絡設備中的弱口令漏洞等都是常見的安全 VUL,攻擊者可以利用這些漏洞來獲取用戶的敏感信息或者控制目標系統。
  6. CVSS(Common Vulnerability Scoring System)
    • 定義:通用漏洞評分系統,是一種用于評估安全漏洞嚴重程度的標準方法。它綜合考慮了漏洞的多個因素,如攻擊向量、攻擊復雜度、權限要求、用戶交互、機密性影響、完整性影響和可用性影響等,為每個漏洞計算出一個分數,以便安全人員和企業能夠快速、準確地判斷漏洞的風險等級。
    • 舉例:一個 CVSS 評分為 9.8 的漏洞通常表示這是一個非常嚴重的漏洞,可能是一個無需用戶交互、攻擊復雜度低、可以獲取系統最高權限并且會導致系統機密性、完整性和可用性完全喪失的漏洞。
  7. 0DAY(Zero - Day)
    • 定義:零日漏洞,是指還沒有被軟件開發商或者安全廠商發現和發布補丁的安全漏洞。對于攻擊者來說,這些漏洞是非常有價值的,因為在漏洞被公開和修復之前,他們可以利用這個時間差對目標系統進行攻擊,而目標系統幾乎沒有防御能力。
    • 舉例:如果一個黑客發現了一款流行軟件中的 0DAY 漏洞,并且在軟件廠商還沒有意識到這個問題之前,利用這個漏洞入侵了大量使用該軟件的系統,就可能會造成嚴重的安全事故。
  8. 信息收集(Information Gathering)
    • 定義:這是滲透測試的初始階段,主要是收集與目標系統相關的各種信息,包括目標的網絡拓撲結構、IP 地址范圍、域名、開放的端口、運行的服務、應用程序版本、用戶信息等。這些信息為后續的漏洞探測和利用提供基礎。
    • 舉例:通過使用搜索引擎(如 Google Hacking)來查找目標公司網站可能隱藏的子域名、后臺管理入口等信息;利用網絡掃描工具(如 Nmap)來獲取目標網絡中主機的 IP 地址、開放端口和服務類型。
  9. 網絡嗅探(Network Sniffing)
    • 定義:在滲透測試中,網絡嗅探是指使用專門的工具(如 Wireshark)來捕獲和分析網絡數據包的過程。通過網絡嗅探可以獲取網絡中的通信內容,包括用戶名和密碼、敏感數據傳輸等信息,也可以幫助分析網絡協議和流量模式,以發現潛在的安全問題。
    • 舉例:在一個不安全的 Wi - Fi 網絡環境中,通過網絡嗅探工具捕獲用戶登錄網站的數據包,從中提取出用戶的賬號和密碼等敏感信息。
  10. 暴力破解(Brute - Force)
    • 定義:這是一種通過窮舉所有可能的組合來猜測密碼、密鑰或者其他認證憑據的攻擊方法。通常用于攻擊具有弱口令的系統,如登錄頁面、加密文件等。雖然這種方法比較耗時,但在某些情況下,如果密碼強度較低或者沒有適當的防護機制,暴力破解可能會成功。
    • 舉例:對一個使用簡單數字密碼(如四位數字密碼)的 Wi - Fi 熱點,通過編寫程序從 0000 開始,一直嘗試到 9999 所有可能的數字組合,直到找到正確的密碼,這就是暴力破解 Wi - Fi 密碼的過程。
  11. 代碼審計(Code Audit)
    • 定義:在白盒滲透測試中,代碼審計是重要的環節。它是指對目標系統的源代碼(如 Web 應用程序代碼、操作系統代碼等)進行系統性的檢查,以發現其中存在的安全漏洞,如 SQL 注入漏洞、代碼注入漏洞、權限控制漏洞等。代碼審計可以通過人工審查和自動化工具相結合的方式進行。
    • 舉例:對一個 PHP 開發的 Web 應用程序的代碼進行審計,檢查其中的數據庫查詢語句是否正確地使用了參數化查詢,以防止 SQL 注入漏洞;查看用戶認證和授權部分的代碼,是否存在權限提升的風險。
  12. 安全策略(Security Policy)
    • 定義:指一個組織或者系統為了保護其信息資產的安全性、機密性、完整性和可用性而制定的一系列規則和措施。在滲透測試中,需要評估目標系統的現有安全策略是否有效,是否存在漏洞或者可以被繞過的情況。
    • 舉例:一個企業制定的安全策略可能包括禁止員工使用弱口令、限制外部網絡訪問內部系統的特定端口、要求對重要數據進行加密存儲和傳輸等內容。滲透測試人員需要檢查這些策略在實際執行中是否得到落實,以及是否存在可以突破這些策略的方法。
  13. 入侵檢測系統(Intrusion Detection System,IDS)/ 入侵防御系統(Intrusion Prevention System,IPS)
    • 定義:IDS 是一種用于檢測網絡或者系統中是否存在入侵行為的安全設備或者軟件。它通過分析網絡流量、系統日志等信息來識別異常活動。IPS 則在 IDS 的基礎上,不僅能夠檢測入侵行為,還能夠采取措施(如阻止攻擊流量、切斷連接等)來防止入侵行為的發生。在滲透測試中,需要考慮如何繞過或者規避這些檢測和防御機制。
    • 舉例:當攻擊者試圖對一個受 IDS 保護的網絡進行端口掃描時,IDS 可能會檢測到異常的大量掃描請求,并發出警報;而 IPS 則可能會直接阻止來自掃描源的后續請求,使掃描無法繼續進行。
  14. 蜜罐(Honeypot)
    • 定義:蜜罐是一種安全機制,它是一個看似有價值但實際上是用于誘捕攻擊者的虛假系統或者資源。蜜罐可以收集攻擊者的攻擊工具、攻擊方法、攻擊意圖等信息,幫助安全人員更好地了解網絡威脅態勢。在滲透測試中,需要能夠識別蜜罐,避免陷入其中而暴露自己的攻擊意圖。
    • 舉例:一個企業設置了一個模擬的服務器(蜜罐),其開放了一些常見的漏洞端口,當攻擊者發現并試圖攻擊這個蜜罐時,蜜罐會記錄攻擊者的所有操作,包括使用的工具、攻擊的漏洞類型等信息,從而為企業的安全防御提供情報支持。
  15. 應急響應(Incident Response)
    • 定義:指在發生安全事件(如系統被入侵、數據泄露等)后,采取的一系列緊急措施來控制事件的影響、恢復系統正常運行、收集證據以及進行后續的調查和處理。雖然滲透測試本身是模擬攻擊,但了解應急響應機制可以幫助測試人員更好地評估目標系統的安全性和恢復能力。
    • 舉例:當發現系統遭到黑客攻擊后,應急響應團隊首先會隔離被攻擊的系統,防止攻擊擴散,然后收集系統日志、網絡流量等證據,分析攻擊的來源和路徑,采取措施修復漏洞并恢復系統的正常運行。
  16. 安全基線(Security Baseline)
    • 定義:是指一個組織或者系統為了達到最低限度的安全標準而建立的一組安全配置和控制措施。在滲透測試中,通過比較目標系統的實際安全狀態與安全基線,可以發現系統存在的安全差距和需要改進的地方。
    • 舉例:對于操作系統的安全基線,可能包括安裝最新的安全補丁、設置合理的用戶權限、啟用防火墻等措施。如果滲透測試發現目標操作系統沒有安裝最新補丁或者防火墻未啟用,就說明該系統不符合安全基線要求。
  17. 漏洞賞金(Vulnerability Bounty)企業或者組織為了鼓勵安全研究人員發現和報告其系統中的安全漏洞而設立的獎勵機制。安全研究人員可以通過合法的滲透測試來尋找漏洞,并向企業報告,企業在核實后會根據漏洞的嚴重程度給予一定的獎金。

社會工程學

  1. 概念與起源

    • 社會工程學(Social Engineering)是一門交叉學科,融合了心理學、社會學、溝通技巧等多個領域的知識。它最早可以追溯到人類社會中的欺騙行為,但作為網絡安全領域的一個重要概念,是隨著信息技術的發展逐漸被重視的。其核心是通過對人的心理操控來獲取信息系統訪問的權限,是一種非傳統的攻擊手段。
  2. 攻擊流程與步驟

    • 信息收集
      • 這是社會工程學攻擊的第一步。攻擊者會收集目標個人或組織的各種信息,包括姓名、職位、聯系方式、工作內容、興趣愛好、社交圈子等。這些信息可以從多種渠道獲取,如社交媒體平臺、公司網站、新聞報道等。例如,通過查看目標在領英(LinkedIn)上的個人資料,了解其工作經歷和職責范圍,以便后續偽裝身份時更加逼真。
    • 制定攻擊計劃
      • 根據收集到的信息,攻擊者會確定攻擊目標(如獲取公司的商業機密、用戶的銀行賬戶密碼等),并選擇合適的攻擊方式。例如,如果目標是獲取某公司的內部財務數據,攻擊者可能計劃偽裝成公司的審計人員,通過電話與財務部門員工溝通來獲取信息。
    • 實施攻擊
      • 攻擊者會按照計劃展開行動,通過面對面交流、電話、電子郵件、即時通訊等方式與目標接觸。在接觸過程中,利用心理操縱技巧,如建立信任、制造緊迫感、引起好奇心等,引導目標泄露敏感信息或執行特定操作。例如,攻擊者以緊急審計需要為由,要求財務人員提供財務報表和相關賬號密碼,并強調事情的緊急性和保密性,使財務人員在壓力下放松警惕。
    • 信息利用與后續行動
      • 一旦獲取到目標泄露的信息,攻擊者會利用這些信息實現其最初的攻擊目標。這可能包括登錄目標系統竊取更多數據、轉移資金、傳播惡意軟件等。并且,攻擊者可能會采取措施掩蓋自己的蹤跡,防止被發現。
  3. 與其他攻擊手段的結合

    • 社會工程學攻擊常常與其他網絡攻擊手段相結合,發揮更大的威力。
    • 與惡意軟件結合
      • 攻擊者通過社會工程學手段誘使目標下載并運行惡意軟件。例如,在釣魚郵件中附上看似正常的文檔附件,實際上該文檔包含惡意宏代碼,當目標打開文檔時,就會觸發惡意軟件的安裝,進而感染目標計算機,使攻擊者能夠遠程控制計算機或竊取數據。
    • 與網絡滲透結合
      • 利用社會工程學獲取的用戶賬號和密碼,可以作為網絡滲透的入口點。例如,攻擊者獲得了公司內部網絡的用戶登錄憑證后,就可以通過該賬號登錄公司網絡,然后利用內部網絡的漏洞進一步滲透,訪問敏感服務器和數據。
  4. 防范措施

    • 提高安全意識培訓
      • 對個人和組織來說,最重要的防范措施之一是開展安全意識培訓。培訓內容應包括如何識別社會工程學攻擊,如識別釣魚郵件(檢查發件人地址、鏈接的真實性、郵件內容的合理性等)、如何核實來電者身份等。通過案例分析和模擬演練,讓員工充分了解社會工程學攻擊的常見形式和應對方法。
    • 建立嚴格的信息驗證機制
      • 在組織內部,對于涉及敏感信息的請求,應該建立嚴格的驗證機制。例如,當有人通過電話或電子郵件要求提供重要信息時,應該通過多種渠道(如回撥已知的官方電話、與上級或相關部門核實等)核實對方身份的真實性。
    • 限制信息披露
      • 個人在社交媒體等平臺上應該注意保護自己的隱私,避免過度披露個人信息,如家庭住址、工作細節、財務信息等。組織也應該對內部信息進行合理的分類和保護,限制不必要的信息傳播。

如何應對社會工程學攻擊?

  1. 提高安全意識
    • 培訓與教育
      • 組織和個人應該定期參加安全意識培訓,了解社會工程學攻擊的常見類型和手段。這些培訓可以通過案例分析、模擬攻擊演練等方式,讓人們深刻認識到社會工程學攻擊的危害性。例如,在企業內部培訓中,可以展示真實的釣魚郵件案例,分析其中的詐騙手法,如發件人地址的偽裝、郵件內容的誘導等,提高員工對釣魚郵件的識別能力。
      • 對于個人來說,可以通過閱讀網絡安全相關的書籍、文章,或者參加在線安全課程,學習如何保護自己的個人信息和避免受到社會工程學攻擊。
    • 培養安全文化
      • 在組織內部營造安全文化氛圍,讓安全意識深入人心。這可以通過制定安全政策、張貼安全提示標語、定期發送安全提醒郵件等方式實現。例如,企業可以制定規定,要求員工在收到可疑的信息請求時,必須向安全部門或者上級報告,形成一種對安全問題高度警惕的企業文化。
  2. 加強身份驗證
    • 多因素認證(MFA)
      • 對于重要的系統和賬戶,采用多因素認證是一種有效的防范措施。除了傳統的用戶名和密碼,還可以增加其他因素,如短信驗證碼、硬件令牌、生物識別(指紋、面部識別等)。這樣,即使攻擊者通過社會工程學手段獲取了密碼,也很難突破其他認證因素。例如,網上銀行系統普遍采用短信驗證碼作為第二因素,當用戶登錄時,除了輸入賬號和密碼,還需要輸入發送到手機上的驗證碼,大大提高了賬戶的安全性。
    • 核實身份信息
      • 在面對涉及敏感信息的請求時,無論是通過電話、電子郵件還是面對面交流,都要仔細核實對方的身份。對于電話,可以回撥已知的官方電話進行確認;對于電子郵件,要仔細檢查發件人地址、郵件簽名和內容的真實性;對于面對面交流,可以要求對方出示工作證件等有效身份證明。例如,如果接到自稱是銀行客服的電話,要求提供賬戶信息,可以掛斷電話,然后撥打銀行官方客服電話進行核實。
  3. 謹慎處理信息和鏈接
    • 郵件安全
      • 在收到電子郵件時,要謹慎對待郵件中的鏈接和附件。不要輕易點擊可疑的鏈接,尤其是那些看起來不正規或者來自陌生發件人的鏈接。對于附件,要先進行病毒掃描,確認安全后再打開。例如,如果收到一封郵件,內容是要求點擊鏈接領取獎品,但發件人地址是一個奇怪的域名,那么很可能是釣魚郵件,應該避免點擊鏈接。
    • 社交媒體隱私設置
      • 在社交媒體平臺上,要合理設置隱私選項,限制個人信息的公開范圍。避免在公共場合隨意透露過多的個人信息,如家庭住址、工作單位的敏感信息、銀行卡號等。例如,將社交媒體上的個人資料設置為僅好友可見,并且不隨意添加陌生人為好友,以降低個人信息被泄露的風險。
  4. 數據訪問控制與監控
    • 最小權限原則
      • 在組織內部,按照最小權限原則分配數據訪問權限。員工只應該被授予完成工作任務所需的最少數據訪問權限,這樣可以減少因員工受到社會工程學攻擊而導致的數據泄露范圍。例如,普通員工不需要訪問公司的財務核心數據,就不應該授予他們相關的權限。
    • 異常行為監控
      • 建立系統來監控用戶的行為,及時發現異常情況。例如,監控用戶的登錄時間、地點、操作內容等,如果發現有不符合正常行為模式的操作,如異地登錄、頻繁嘗試訪問敏感數據等,可以及時進行調查和處理。這樣可以在社會工程學攻擊發生后,快速發現并采取措施,降低損失。

常見的社會工程學攻擊手段有哪些?

  1. 網絡釣魚(Phishing)

    • 電子郵件釣魚:這是最常見的網絡釣魚方式。攻擊者發送看似來自合法機構(如銀行、電商平臺、電子郵件服務提供商等)的電子郵件。這些郵件通常包含緊急或誘人的信息,如 “您的賬戶存在異常,請立即登錄驗證” 或 “恭喜您獲得大獎,請點擊鏈接領取”。郵件中的鏈接會將用戶引導到與合法網站外觀相似的虛假網站,一旦用戶輸入賬號、密碼、信用卡信息等敏感數據,攻擊者就會獲取這些信息。
    • 短信釣魚(Smishing):攻擊者通過手機短信發送含有惡意鏈接或虛假信息的內容。例如,“您的手機話費積分可以兌換現金,請點擊鏈接操作”。用戶點擊短信中的鏈接后,可能會下載惡意軟件或者被引導到釣魚網站。
    • 語音釣魚(Vishing):也稱為 “電話詐騙”。攻擊者通過電話偽裝成銀行客服、政府工作人員或其他權威人士。他們利用人們對權威機構的信任,以各種理由(如賬戶安全檢查、稅務問題等)誘導用戶提供敏感信息,如銀行卡密碼、身份證號碼等。
  2. 偽裝身份(Impersonation)

    • 技術支持人員偽裝:攻擊者冒充公司的 IT 技術支持人員,聯系公司員工,聲稱要解決系統問題或進行安全維護。他們可能會要求員工提供系統登錄憑據或其他敏感信息,以 “幫助” 解決所謂的問題。例如,打電話給員工說 “我們正在進行系統升級,需要您提供賬號和密碼來完成升級操作”。
    • 管理層偽裝:攻擊者偽裝成公司高層管理人員,向員工發送指令,要求提供敏感的公司數據或進行資金轉賬等操作。由于員工對上級的服從心理,可能會在未核實身份的情況下執行指令。比如,通過電子郵件向財務人員發送指令,要求緊急轉賬一筆資金到指定賬戶,理由是 “用于緊急業務交易”。
    • 合作伙伴偽裝:攻擊者假冒公司的合作伙伴或供應商,與相關人員溝通,試圖獲取商業機密、合同信息或其他敏感數據。例如,以合作伙伴的身份聯系采購部門,要求查看最新的采購合同細節,以便 “核對合作條款”。
  3. 誘餌攻擊(Baiting)

    • 物理誘餌:攻擊者在公共場所(如停車場、咖啡店、圖書館等)放置帶有惡意軟件的存儲設備(如 U 盤、光盤等),并貼上吸引人的標簽,如 “公司機密文件”“免費軟件”“未發布的電影” 等。當好奇的人撿起并將其插入計算機時,惡意軟件會自動安裝并感染計算機,攻擊者就可以獲取計算機中的數據或控制該計算機。
    • 網絡誘餌:在網絡環境中,攻擊者可能在一些熱門的文件共享網站或論壇上發布看似誘人的文件(如破解軟件、獨家資料等),實際上這些文件包含惡意程序。當用戶下載并打開這些文件時,就會受到攻擊。
  4. 社會壓力攻擊(Social Pressure Attacks)

    • 緊急情況誘導:攻擊者制造一種緊急的氛圍,迫使目標在沒有充分思考的情況下采取行動。例如,打電話給用戶說 “您的賬戶即將被凍結,需要立即操作來避免損失”,使用戶產生焦慮情緒,從而更容易聽從攻擊者的指令。
    • 群體壓力利用:攻擊者利用人們的從眾心理。例如,在一個組織內部,攻擊者通過偽裝成內部成員,在群體聊天或郵件中提及某個 “大家都在參與” 的活動(如填寫一份看似無害的調查問卷,實際上是收集個人信息),讓目標覺得自己也應該參與,從而泄露個人信息。
  5. 信息收集攻擊(Information - Gathering Attacks)

    • 社交網絡信息收集:攻擊者通過社交網絡平臺(如 Facebook、LinkedIn、Twitter 等)收集目標個人或組織的大量信息。這些信息包括工作經歷、興趣愛好、人際關系、公司架構等,用于構建更精準的社會工程學攻擊。例如,通過了解目標的興趣愛好,攻擊者可以在后續的偽裝身份攻擊中更容易與目標建立聯系并獲取信任。
    • 垃圾桶翻找(Dumpster Diving):攻擊者在目標公司或個人住所附近的垃圾桶中尋找包含敏感信息的文件,如廢棄的發票、文件草稿、密碼便簽等。這些看似被丟棄的信息可能會為攻擊者提供有價值的線索,用于進一步的攻擊。

多因素認證的具體部署方法

以下是一些常見的多因素認證的具體部署方法:

基于軟件的多因素認證部署

  • 選擇合適的多因素認證軟件:如 privacyIDEA、寧盾 MFA 等。以 privacyIDEA 為例,需在服務器上安裝部署該軟件,并進行相關配置。
  • 用戶源配置:確定用戶身份信息的來源,如 AD 域賬號源、OpenLDAP 賬號源等,并將認證軟件與用戶源進行集成,使認證軟件能夠獲取用戶信息進行認證。
  • 認證因素選擇與配置:常見的認證因素包括密碼、短信驗證碼、手機 APP 令牌動態密碼、指紋識別等。根據實際需求選擇至少兩種認證因素,并在認證軟件中進行相應的配置。例如,若選擇密碼和手機 APP 令牌動態密碼,需配置好生成動態密碼的相關參數,并確保用戶能夠正常獲取和使用動態密碼。
  • 客戶端部署與配置:在用戶使用的客戶端設備上安裝相應的認證軟件或插件,如 privacyIDEA Credential Provider 插件,并進行配置,使其能夠與認證服務器進行通信,完成多因素認證的流程。

基于硬件的多因素認證部署

  • 硬件令牌采購與分發:采購硬件令牌設備,如 U 盾、智能卡等,并分發給需要進行多因素認證的用戶。
  • 認證服務器配置:在認證服務器上配置對硬件令牌的支持,包括設置與硬件令牌通信的接口、驗證規則等。
  • 用戶綁定與注冊:將用戶與分配給他們的硬件令牌進行綁定和注冊,確保每個用戶的硬件令牌與對應的賬號關聯起來,以便在認證時能夠正確驗證用戶身份。
  • 客戶端設備設置:在用戶的客戶端設備上安裝相應的驅動程序或軟件,以便能夠正確識別和使用硬件令牌進行認證。

云服務多因素認證部署

  • 選擇云多因素認證服務提供商:如微軟 Azure Active Directory、谷歌身份驗證等云服務,根據企業或組織的需求和預算選擇合適的云服務提供商。
  • 賬號集成與配置:將企業或組織的用戶賬號與云多因素認證服務進行集成,通常需要進行一些配置和同步操作,以確保用戶信息的一致性和認證的準確性。
  • 認證策略設置:在云多因素認證服務平臺上設置認證策略,如選擇需要啟用多因素認證的應用程序或服務、確定認證因素的組合方式、設置認證的頻率和條件等。
  • 用戶培訓與支持:為用戶提供關于如何使用云多因素認證的培訓和支持,包括如何獲取和使用認證因素、在不同設備上進行認證的方法等,確保用戶能夠順利使用多因素認證登錄相關的應用程序和服務 。

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

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

相關文章

爬蟲數據能用于商業嗎?

在當今數字化時代,數據已成為企業獲取競爭優勢的關鍵資源。網絡爬蟲作為一種數據收集工具,能夠從互聯網上抓取大量數據,這些數據在商業分析中扮演著重要角色。然而,使用爬蟲技術獲取的數據是否合法、能否用于商業分析,…

前端面試匯總(不定時更新)

目錄 HTML & CSS1. XML、HTML、XHTML 有什么區別??2. XML和JSON的區別?3. 是否了解W3C的規范??4. 什么是語義化標簽???5. 行內元素和塊級元素的區別??6. 行內元素和塊級元素的轉換??7. 常用的塊級…

SpringCloud微服務實戰系列:03spring-cloud-gateway業務網關灰度發布

目錄 spring-cloud-gateway 和zuul spring webflux 和 spring mvc spring-cloud-gateway 的兩種模式 spring-cloud-gateway server 模式下配置說明 grayLb://system-server 灰度發布代碼實現 spring-cloud-gateway 和zuul zuul 是spring全家桶的第一代網關組件&#x…

QT3學習之進階理解信號和槽:如何自定義一個類信號,供其它類調用槽函數

下面是QWidget源碼,定義了兩個事件 /*!This event handler can be reimplemented in a subclass to receivewidget enter events.An event is sent to the widget when the mouse cursor enters thewidget.\sa leaveEvent(), mouseMoveEvent(), event() */void QWi…

GaLore和Q-GaLore:一種記憶高效的預訓練和微調策略,用于大型語言模型(LLMs)

GaLore和Q-GaLore:一種記憶高效的預訓練和微調策略,用于大型語言模型(LLMs) GaLore和Q-GaLore的設計背景、工作原理及其優勢 設計背景 隨著大型語言模型(LLMs)的發展,模型的規模和復雜性不斷…

【網絡云計算】2024第51周-每日【2024/12/17】小測-理論-解析

文章目錄 1. 計算機網絡有哪些分類2. 計算機網絡中協議與標準的區別3. 計算機網絡拓撲有哪些結構4. 常用的網絡設備有哪些,分屬于OSI的哪一層5. IEEE802局域網標準有哪些 【網絡云計算】2024第51周-每日【2024/12/17】小測-理論-解析 1. 計算機網絡有哪些分類 計算…

ActiveMQ 反序列化漏洞CVE-2015-5254復現

文章目錄 一、產生原因二、利用條件三、利用過程四、PoC(概念驗證)五、poc環境驗證使用find搜索vulhub已安裝目錄打開activeMQ組件查看配置文件端口啟動鏡像-文件配置好后對于Docker 鏡像下載問題及解決辦法設置好鏡像源地址,進行重啟docker查…

shardingsphere分庫分表跨庫訪問 添加分片規則

shardingsphere分庫分表跨庫訪問 添加分片規則 建立 JDBC 環境 創建表 t_order: CREATE TABLE t_order (tid bigint(20) NOT NULL,tname varchar(255) DEFAULT NULL,goods_id bigint(20) DEFAULT NULL,tstatus varchar(255) DEFAULT NULL,PRIMARY KEY (tid) ) E…

C++ 中,構造函數、拷貝構造函數和移動構造函數區別

在 C 中,構造函數、拷貝構造函數和移動構造函數是類中用于對象初始化的三種不同類型的構造函數。它們的功能和使用場景有所不同,下面詳細解釋它們之間的區別。 1. 構造函數 (Constructor) 定義: 構造函數是一個特殊的成員函數,用…

MYSQL執行一條update語句,期間發生了什么

客戶端先通過連接器建立連接,連接器自會判斷用戶身份; 因為這是一條 update 語句,所以不需要經過查詢緩存,但是表上有更新語句,是會把整個表的查詢緩存清空的,所以說查詢緩存很雞肋,在 MySQL 8…

vue3監聽橫向滾動條的位置;鼠標滾輪滑動控制滾動條滾動;監聽滾動條到頂端

1.橫向取值scrollLeft 豎向取值scrollTop 2.可以監聽到最左最右側 3.鼠標滾輪滑動控制滾動條滾動 效果 <template><div><div class"scrollable" ref"scrollableRef"><!-- 內容 --><div style"width: 2000px; height: 100…

深入理解MyBatis的Mapper層:讓數據訪問更高效

目錄 1. 什么是MyBatis的Mapper層&#xff1f; 1.1 典型的Mapper層結構 1.2 示例&#xff1a;一個簡單的用戶管理系統 2. 創建Mapper層 2.1 創建實體類 2.2 創建Mapper接口 2.3 創建Mapper XML文件&#xff08;可選&#xff09; 2.4 配置MyBatis的SQL映射 3. 使用Mapp…

WPF xaml 文件詳解

<div id"content_views" class"htmledit_views"><h2><a name"t0"></a>1.總述</h2> 創建好了WPF項目后&#xff0c;最重要的是對 App和MainWindow的理解&#xff0c;在一開始的時候&#xff0c;極容易就直接在Main…

鴻蒙開發-ArkTS 創建自定義組件

在 ArkTS 中創建自定義組件是一個相對簡單但功能強大的過程。以下是如何在 ArkTS 中創建和使用自定義組件的詳細步驟&#xff1a; 一、定義自定義組件 使用Component注解&#xff1a;為了注冊一個組件&#xff0c;使其能夠在其他文件中被引用&#xff0c;你需要使用Component…

Golang學習筆記_05——延遲調用

Golang學習筆記_02——函數 Golang學習筆記_03——匿名函數和閉包 Golang學習筆記_04——遞歸函數 文章目錄 延遲調用1. 延遲調用1.1 使用場景1.2 示例 2. panic2.1 使用場景2.2 示例 3. recover3.1 使用場景3.2 示例 源碼 延遲調用 在Go語言中&#xff0c;延遲調用&#xff0…

防范TCP攻擊:策略與實踐

TCP&#xff08;傳輸控制協議&#xff09;是互聯網通信的核心協議之一&#xff0c;它確保了數據在網絡上的可靠傳輸。然而&#xff0c;TCP也容易成為各種網絡攻擊的目標&#xff0c;如SYN洪水攻擊、TCP連接耗盡攻擊等。本文將探討如何通過配置防火墻規則、優化服務器設置以及采…

水表的數字表盤分割數據集labelme格式3023張13類別

數據集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;僅僅包含jpg圖片和對應的json文件) 圖片數量(jpg文件個數)&#xff1a;3023 標注數量(json文件個數)&#xff1a;3023 標注類別數&#xff1a;13 標注類別名稱:["readbox_1","center",&q…

【go語言】reflect包與類型推斷

reflect 包的核心概念 Go 中的反射涉及兩個核心概念&#xff1a; Type&#xff1a;表示一個類型的結構體&#xff0c;reflect.Type 是類型的描述。Value&#xff1a;表示一個值的結構體&#xff0c;reflect.Value 是一個具體值的包裝。 反射讓我們能夠動態地訪問對象的類型和…

跟著AI 學 AI, 開發一個ChatBot, 集成 Json 數據和查詢

按照規律&#xff0c;使用AI生成一個架構圖 直接上代碼&#xff0c;為了方便學習&#xff0c;直接按照如下方式&#xff0c;復制到你的開發環境即可調試&#xff0c;運行代碼。做學習參考。 代碼注釋多次說明這里&#xff0c;不在贅述。 "type": "carousel&qu…

WPF+MVVM案例實戰與特效(三十七)- 實現帶有水印和圓角的自定義 TextBox 控件

文章目錄 1、概述2、案例實現1、基本功能2、代碼實現3、控件應用4、案例效果4、總結1、概述 在開發用戶界面時,TextBox 是最常見的輸入控件之一。為了提升用戶體驗,我們經常需要為 TextBox 添加一些額外的功能,例如顯示提示文本(水印)和設置圓角邊框。本文將詳細介紹如何…