Python在網絡安全中的應用 python與網絡安全

前言

網絡安全是保護網絡、系統和程序免受數字攻擊的做法。據估計, 2019 年該行業價值 1120 億美元,到2021 年估計有 350 萬個職位空缺。

許多編程語言用于執行與網絡安全相關的日常任務,但其中一種已成為行業標準:Python,它正在主導網絡安全行業。

Python 具有易于閱讀和理解的語法以及廣泛的應用程序,使其成為任何有抱負的網絡安全專業人員的通用編程語言。

根據 Stack Overflow 的說法,Python 在過去幾年的增長令人難以置信,現在它被認為是所有行業中最受歡迎的語言之一。

Python在網絡安全中的應用 python與網絡安全_職場和發展

如果您是一名正在考慮過渡到安全領域的程序員,這篇文章將向您展示如何在另一個高收入、低失業率的行業中使用您現有的技能。例如,您可以通過自動化重復流程來為您的團隊節省無數時間,或者通過創建可用于測試應用程序或系統安全性的安全工具來做到這一點。

領先的網絡安全軟件和服務提供商 Imperva 報告稱,他們保護的網站中有 77% 受到基于 Python 的工具的攻擊。作為安全專業人員,我們的部分工作是模擬現實生活中的攻擊,以確保公司在真正的攻擊發生時做好準備,了解實際攻擊中使用的語言和庫。復制這些工具是一項非常有價值的技能。

然而,在安全領域,并非所有的 Python 經驗都是平等的。要構建有效的產品組合、開發有效的軟件并正確展示您的價值,您需要專注于為行業學習正確的 Python 庫和框架。

因此,讓我們看一下在這些領域蓬勃發展需要了解的一些不同的 Python 庫。

自動化工具

首先,您希望能夠編寫有效的 Python 腳本來自動化安全專業人員的許多日常任務。

Python因其易于學習的語法和廣泛的庫而被廣泛用于安全工作,這賦予了它很多功能。雖然可以使用其他語言來執行這些任務,但我建議學習 Python。這就是大多數行業將使用的,協作很重要。

許多安全任務要求您在成百上千個端點上應用相同的操作。例如,讓我們看一下配置管理。這是為系統定義安全模板的實踐,包括機器上允許哪些服務、開放哪些端口、防火墻規則等。

自動化這些過程的能力不僅可以減少時間,還可以減少錯誤。高達 90% 的安全事件是人為錯誤的直接結果。從安全角度來看,您越能擺脫對人類行為者的依賴,就越好。所以這就引出了一個問題,我怎樣才能學會自動化這樣的流程?

博托3

Boto3 是適用于 Python 的 Amazon Web Services (AWS) 軟件開發工具包 (SDK),它允許程序員編寫可以與 Amazon Simple Storage Service (S3)、Amazon Elastic Compute Cloud (EC2) 和 Amazon Virtual 等 AWS 服務交互的腳本私有云(VPC)。

使用 Boto3,您可以按需啟動和停止服務器、取消不符合組織安全標準的實例、執行更新和補丁管理等等。熟悉這個 SDK 對于任何使用 AWS 的專業人士來說都是非常有價值的。

正則表達式

Regex 代表正則表達式,這是一個允許您在文本塊中搜索特定模式的工具。這是一個非常有用的功能,用于在調查期間或從 Internet 上抓取信息時從日志文件中提取信息。

通過將此庫與其他標準 Python 庫相結合,您可以創建一些非常有用的程序。例如,您可以使用正則表達式搜索日志文件并定位 IP 地址,以便確定是否有人能夠侵入您的網絡、他們執行了哪些操作以及該事件發生的時間。

Pyautogui 和 Web 瀏覽器

Pyautogui 允許您的腳本控制鼠標和鍵盤功能,讓您模仿智能用戶行為。Web 瀏覽器模塊允許您啟動一個新的瀏覽器到一個指定的 URL。

您可以在程序中使用這些來自動執行任何需要您訪問網站并執行任何功能的操作,例如填寫 Web 表單、下載文件等。這可用于自動執行需要您登錄到 Web 的功能頁面和發布信息。

例如,我見過一個 Python 腳本,它可以自動測試網頁的 XSS 腳本漏洞。XSS 是一種網絡攻擊,它試圖將?javascript?代碼插入輸入表單并讓該代碼在網站上運行。

這些庫還可用于自動執行其他需要您登錄、訪問 Web 瀏覽器以及在網頁上執行操作的日常任務。

彈夾

Python在網絡安全中的應用 python與網絡安全_web安全_02

該庫使您能夠直接從 Python 腳本訪問剪貼板。雖然這可以通過 pyautogui 庫來完成,但 pyperclip 使這個過程變得更加簡單,并為您的腳本增加了靈活性。

它對于涉及大量文本的任何腳本特別有用。例如,假設您正在掃描整個 pdf 中的姓名、地址和電話號碼。只需突出顯示 pdf 文本并將其復制到剪貼板,pyperclip 就允許您在腳本中將其用作輸入,從而為您節省大量時間。

騙子

該庫專門用于生成可用于測試程序的虛假數據。這對于確保您編寫的任何腳本或工具都能夠按預期執行操作非常重要。

例如,如果您有一個提取 URL 的腳本,您可能希望生成一些包含該信息的虛假文本并測試您的程序以確保您的腳本可以有效地找到它。Faker 可以生成隨機數據,例如姓名、地址、電子郵件、國家/地區、文本、網址等。

筆測試

Python 編程在網絡安全中的另一個重要應用是滲透測試領域。滲透測試是試圖侵入網站、應用程序、設備或網絡以測試該實體的安全性的過程。

為了有效地執行這些測試,許多專業人員創建了自己的工具和腳本,這些工具和腳本的功能完全符合他們的測試需要,這就是了解 Python 變得非常有用的地方。

Python 在該領域主要用于開發用于執行攻擊的自定義腳本和工具。如果你想在這方面取得成功,知道如何編寫有效的腳本以及如何閱讀和理解別人編寫的工具對你來說非常有價值。以下是您需要熟悉的一些關鍵庫。

蟒蛇地圖

Nmap 是一個使用非常廣泛的端口掃描器。端口掃描是檢查計算機上打開了哪些端口以及該計算機上正在運行哪些服務的過程,以便您可以開始確定該計算機如何容易受到黑客攻擊。

Python Nmap 庫使您可以通過 Python 腳本輕松利用 nmap 功能,加快掃描目標計算機以查找漏洞的過程,并為您的掃描提供更多自定義。該庫允許您分析 nmap 掃描結果、執行自定義掃描以及將 nmap 結果導入其他工具。

插座

Socket 是一個低級網絡接口庫,允許您建立客戶端-服務器連接。在網絡安全的背景下,這很重要,因為它允許您使用特定協議連接到指定端口上的任何機器,并將數據發送到該機器。

這可用于機器的端口掃描以及向機器發送數據或從機器提取信息。數據泄露發生在滲透測試的后期,被稱為漏洞利用。任何需要您通過網絡接口進行通信的項目都可能使用 Socket。

斯卡皮

Scapy 是一個數據包操作庫,可以跨許多不同的網絡協議偽造和解碼數據包。

在網絡安全中,有些情況下您需要監控通過計算機網絡發送的數據包。可能是確定是否有人入侵了您的環境,查看機器上正在運行哪些端口和服務,或者解決網絡問題。

不管是什么原因,這個庫非常適合執行數據包分析,并且可以提供與 Nmap、Wireshark 和 tcpdump 等流行工具相同的功能。

要求

請求是不言自明的。它允許程序員通過他們的腳本發送 HTTP 請求。HTTP 請求通過允許創建自定義有效負載和針對 Web 應用程序的攻擊,對滲透測試活動很有用。

請求可以實現與 burp 套件之類的工具相同的功能,但可以根據您的需求進行更多自定義。Imperva 研究人員發現,Requests 是用于基于 Web 的攻擊中最流行的 Python 庫,用于 89% 的基于 Python 的攻擊。

美麗的湯

該庫專門協助滲透測試的信息收集階段。

Beautiful Soup 允許您從 HTML 和 XML 文件中解析數據,讓您自動執行數據抓取任務。在滲透測試的開源情報階段,數據抓取可能很重要,因為該階段致力于盡可能多地查找有關測試目標的信息。

出于這個原因,您可能希望創建腳本來自動化此階段,在 Github 等地方搜索以查找有關您的目標公司的信息。此信息可能包括 IP 地址,或者開發人員經常意外提交到公共存儲庫的用戶 ID 和密碼。

其他資源

這些庫中的每一個都添加了重要的功能,但要精通編寫與安全相關的腳本,最好以結構化的方式學習它們。

當談到自動化工具時,我強烈推薦這兩個資源,因為它們涵蓋了日常任務自動化中使用的所有核心 Python 庫,并且它們指導您完成幾個項目,您可以將這些項目放入您的投資組合中,以向招聘人員展示您的知識.

Automatetheboringstuff.com:這本免費的電子書將帶您了解所有這些庫以及更多與使用 Python 自動化日常工作任務相關的內容。這是迄今為止我發現的最全面的指南,并附帶練習、項目和演練。
Google 的自動化與 Python 專業證書:Google 有一個速成課程向您介紹該語言,并引導您了解 IT 專業人員自動化的重要方面。

在您學習 Python 時,我強烈建議您保留在這些課程中編寫的所有代碼,并將其用于作品集。一個簡單而免費的方法是通過 Github 投資組合。

這些課程中的每一個都帶有幾個您可以做的實踐項目想法,但是您想要展示的一些關鍵技能是讀取和寫入文件、從文本中提取信息以及通過應用程序編程接口與在線服務交互的能力(蜜蜂)。

如果您有興趣直接學習Python 進行滲透測試,這里有一些不錯的起點。這些書籍詳細介紹了如何使用 Python 完成特定于安全的活動,例如安全自動化、開發用于安全測試的 Python 安全工具以及用于計算機取證活動的 Python 腳本。它們也受到安全社區的高度尊重,這證明了它們的質量。

Violent Python:黑客、法醫分析師、滲透測試人員和安全工程師的食譜
Black Hat Python:面向黑客和滲透測試者的 Python 編程
Gray Hat Python:面向黑客和逆向工程師的 Python 編程
對于任何有抱負的安全專業人員來說,編程能力都是一項寶貴的資產,尤其是如果您對技術角色感興趣,例如安全工程師或滲透測試員。

Python 在網絡安全中至關重要

Python 是網絡安全領域最流行的編程語言,展示你用這種語言編程的能力可以大大提高你找到工作的機會。

為了構建強大的編程組合,您希望專注于證明您可以使用 Python 自動執行日常任務,并為滲透測試 Web 應用程序、網絡和計算機系統創建安全工具。

網絡安全是收入最高的科技行業之一,預計只會增長,為那些有資格的人提供巨大的機會。

網絡安全學習路線

對于從來沒有接觸過網絡安全的同學,我們幫你準備了詳細的學習成長路線圖。可以說是最科學最系統的學習路線,大家跟著這個大的方向學習準沒問題。

最后
  • 如果你確實想自學的話,我可以把我自己整理收藏的這些教程分享給你,里面不僅有web安全,還有滲透測試等等內容,包含電子書、面試題、pdf文檔、視頻以及相關的課件筆記,我都已經學過了,都可以免費分享給大家!

給小伙伴們的意見是想清楚,自學網絡安全沒有捷徑,相比而言系統的網絡安全是最節省成本的方式,因為能夠幫你節省大量的時間和精力成本。堅持住,既然已經走到這條路上,雖然前途看似困難重重,只要咬牙堅持,最終會收到你想要的效果。

結語

網絡安全產業就像一個江湖,各色人等聚集。相對于歐美國家基礎扎實(懂加密、會防護、能挖洞、擅工程)的眾多名門正派,我國的人才更多的屬于旁門左道(很多白帽子可能會不服氣),因此在未來的人才培養和建設上,需要調整結構,鼓勵更多的人去做“正向”的、結合“業務”與“數據”、“自動化”的“體系、建設”,才能解人才之渴,真正的為社會全面互聯網化提供安全保障。

特別聲明:
此教程為純技術分享!本教程的目的決不是為那些懷有不良動機的人提供及技術支持!也不承擔因為技術被濫用所產生的連帶責任!本教程的目的在于最大限度地喚醒大家對網絡安全的重視,并采取相應的安全措施,從而減少由網絡安全而帶來的經濟損失

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

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

相關文章

設計模式15:中介者模式

系列總鏈接:《大話設計模式》學習記錄_net 大話設計-CSDN博客 1.概述 中介者模式(Mediator Pattern)是一種行為設計模式,旨在通過一個中介對象來封裝一系列對象之間的交互方式,從而減少這些對象間的直接依賴。在該模式…

golang常用庫之-swaggo/swag根據注釋生成接口文檔

golang常用庫之-swaggo/swag庫根據注釋生成接口文檔 什么是swaggo/swag github:https://github.com/swaggo/swag 參考文檔:https://golang.halfiisland.com/community/pkgs/web/swag.html#%E4%BD%BF%E7%94%A8 swaggo/swag 是 Swagger API 2.0 在 go 語…

爬取網站內容轉為markdown 和 html(通常模式)

我們遇到一些自己喜歡內容,想保存下來,手動復制粘貼很麻煩,我們使用 python 來爬取這些內容。 一、代碼 downlod.py import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin# 目標網頁(可…

. Spring MVC

(1)MVC 設計模式 Model(模型):負責存儲數據和業務邏輯。在 Spring MVC 中,模型通常是 JavaBean,用于封裝數據。 View(視圖):負責展示數據給用戶。可以是 JSP…

高效執行自動化用例:分布式執行工具pytest-xdist實戰!

01、聲明 在介紹pytest-xdist時,不講任何原理,需要看原理的請移至官方:https://pypi.org/project/pytest-xdist/ 當我們自動化測試用例非常多的時候, 一條條按順序執行會非常慢,pytest-xdist的出現就是為了讓自動化測…

【ISO 14229-1:2023 UDS診斷全量測試用例清單系列:第十八節】

ISO 14229-1:2023 UDS診斷服務測試用例全解析(ResponseOnEvent_0x86服務) 作者:車端域控測試工程師 更新日期:2025年02月14日 關鍵詞:UDS協議、0x86服務、事件響應、ISO 14229-1:2023、ECU測試 一、服務功能概述 0x86…

deepseek多列數據對比,聯想到excel的高級篩選功能

目錄 1 業務背景 ?2 deepseek提示詞輸入 ?3 聯想分析 4 EXCEL高級搜索 1 業務背景 系統上線的時候經常會遇到一個問題,系統導入的數據和線下的EXCEL數據是否一致,如果不一致,如何快速找到差異值,原來腦海第一反應就是使用公…

TailwindCss的vue3安裝使用

按照官網的安裝教程,屬性最后無法生效,這是自我改良版,添加了額外步驟,但是每次引入新的tailwindcss屬性 需要重新跑一次項目 npm下載tailwindcss npm install -D tailwindcss npx初始化tailwind配置 npx tailwindcss init 此時根…

個人博客測試報告

一、項目背景 個人博客系統采用前后端分離的方法來實現,同時使用了數據庫來存儲相關的數據,同時將其部署到云服務器上。前端主要有四個頁面構成:登錄頁、列表頁、詳情頁以及編輯頁,以上模擬實現了最簡單的個人博客系統。其結合后…

Python----數據結構(單鏈表:節點,是否為空,長度,遍歷,添加,刪除,查找)

一、鏈表 鏈表是一種線性數據結構,由一系列按特定順序排列的節點組成,這些節點通過指針相互連接。每個節點包含兩部分:元素和指向下一個節點的指針。其中,最簡單的形式是單向鏈表,每個節點含有一個信息域和一個指針域&…

夜鶯監控發布 v8.beta5 版本,優化 UI,新增接口認證方式便于鑒權

以防讀者不了解夜鶯,開頭先做個介紹: 夜鶯監控,英文名字 Nightingale,是一款側重告警的監控類開源項目。類似 Grafana 的數據源集成方式,夜鶯也是對接多種既有的數據源,不過 Grafana 側重在可視化&#xff…

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用 目錄 什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量數據庫? 怎么使用Embedding(嵌入)RAG(檢索增強生成)Function calling(函數調用)Pr…

SQLMesh 系列教程5- 詳解SQL模型

本文將詳細介紹 SQLMesh 的 SQL 模型組成要素及其在實際項目中的應用。SQLMesh 是一個強大的數據工程工具,其 SQL 模型由 MODEL DDL、預處理語句、主查詢、后處理語句以及可選的 ON VIRTUAL UPDATE 語句組成。我們將通過一個電商平臺每日銷售報告的實例,…

DeepSeek 接入PyCharm實現AI編程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在當今數字化時代,AI編程助手已成為提升開發效率的利器。DeepSeek作為一款強大的AI模型,憑借其出色的性能和開源免費的優勢,成為許多開發者的首選。今天,就讓我們一起探索如何將DeepSeek接入PyCharm,實現高效、智…

從駕駛員到智能駕駛:汽車智能化進程中的控制與仿真技術

在汽車技術持續演進的歷程中,人類駕駛員始終是一個極具研究價值的智能控制系統“原型”。駕駛員通過視覺感知、行為決策與操作執行的閉環控制,將復雜的駕駛任務轉化為車輛的實際動作,同時動態適應道路環境的變化。這一過程不僅體現了高度的自…

Spring Boot項目的基本設計步驟和相關要點介紹

以下是一個關于Spring Boot項目的基本設計步驟和相關要點介紹,我們以一個簡單的示例應用——員工管理系統為例進行說明: 一、項目概述 員工管理系統旨在實現對公司員工信息的有效管理,包括員工基本信息錄入、查詢、更新以及刪除等功能。通過Spring Boot框架來快速搭建后端…

【Java】泛型與集合篇(一)

泛型與集合(一) 泛型泛型的核心作用泛型類型(類)定義與使用類型參數命名約定泛型方法定義與調用與泛型類的區別通配符上界通配符下界通配符有界類型參數類型擦除集合框架核心接口Collection 接口Map 接口Collection 接口操作的常用方法基本操作批量操作數組操作流操作方法L…

HarmonyOS組件之Tabs

Tabs 1.1概念 Tabs 視圖切換容器,通過相適應的頁簽進行視圖頁面的切換的容器組件每一個頁簽對應一個內容視圖Tabs擁有一種唯一的子集元素TabContent 1.2子組件 不支持自定義組件為子組件,僅可包含子組件TabContent,以及渲染控制類型 if/e…

華為FusionCompute虛擬化平臺

一、華為FusionCompute虛擬化套件介紹 華為FusionCompute虛擬化套件是業界領先的虛擬化解決方案,能夠幫助客戶帶來如下的價值,從而大幅提升數據中心基礎設施的效率。 幫助客戶提升數據中心基礎設施的資源利用率;幫助客戶成倍縮短業務上線周期…

使用apt-rdepends制作軟件離線deb安裝包

使用apt-rdepends制作軟件離線deb安裝包 除基礎軟件外,還要獲取軟件依賴包。 依賴包工具安裝 apt-get install apt-rdependsapt-rdepends工具使用 使用apt-rdepends工具,遞歸方式分析軟件依賴,下載軟件包本體,和依賴包。制作時…