python編寫安全工具小總結(寫python的工具)

本文目錄一覽:

Python最好IDE Pycharm使用小技巧總結

Python最好IDE:Pycharm使用小技巧總結:

1、pycharm的設置

從file下的setting進入設置,

然後我們進入到設置界面,首先我們可以設置界面的風格和工具欄字體大小,如紅線所示

接下來我們一般會設置寫代碼時的字體風格,選擇合適的字體和大小以及間隔,有利於編寫程序時的心情舒暢,寫起來一溜溜的。。。

接下來我們需要指定我們的編碼形式,這樣有利於我們的代碼編譯書寫

畢竟utf-8編解碼模式符合中國人的編碼習慣,再接下來我們希望在每次寫代碼時可以在文件頭寫上一些關於本文件的信息,例如時間、編譯器等等,這樣我們可以編寫一個書寫

template,這樣每次新建一個文件會自動在文件頭為我們添上這些信息,這裡以py文件為例,可以照著這個模式來寫

為了方便,我就講它們直接敲出來了,可以直接複製啦!

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# author:albert time:${DATE}

接下來就是重頭戲,我們需要指定編譯器,這才是靈魂操作,

2、pycharm使用和快捷鍵

在pycharm里可以載入python使用的第三方庫,只要在指定編譯器後,點擊右邊的加號,進入搜索框找到你要載入的第三方庫即可,但是這種方式太慢了,一般我們在終端用pip結合鏡像來安裝,所以在這裡就不做詳細說明。

至於快捷鍵,不同版本的可能略微有區別,常用的幾個:

注釋:選中後 Ctrl + /

定位:Ctrl + 滑鼠左鍵

縮進:Tab / Tab+shift

換行:shift + enter

編譯:Ctrl+shift+F10

查看路徑:ctrl+l (或在終端輸入pwd)

3、pycharm使用碰到的一些問題

有時候我們在寫代碼時會發現代碼下面會出現一些波浪號(非編碼錯誤),治根的辦法就是在設置里將pycharm里的檢測選項去掉

在run代碼時出現無法編譯情況

一般我們想運行代碼,可以滑鼠右鍵run一下當前文件即可,可是有時出現下面這種情況

我們需要做的就是將py文件的名字換一下即可。

更多Python知識,請關註:Python自學網!!

python灰帽子講的什麼

內容簡介

《Python灰帽子》是由知名安全機構Immunity Inc的資深黑帽Justin Seitz主筆撰寫的一本關於編程語言Python如何被廣泛應用於黑客與逆向工程領域的書籍。老牌黑客,同時也是Immunity Inc的創始人兼首席技術執行官(CTO)Dave Aitel為這本書擔任了技術編輯一職。書中絕大部分篇幅著眼於黑客技術領域中的兩大經久不衰的話題:逆向工程與漏洞挖掘,並向讀者呈現了幾乎每個逆向工程師或安全研究人員在日常工作中所面臨的各種場景,其中包括:如何設計與構建自己的調試工具,如何自動化實現煩瑣的逆向分析任務,如何設計與構建自己的fuzzing工具,如何利用fuzzing 測試來找出存在於軟體產品中的安全漏洞,一些小技巧諸如鉤子與注入技術的應用,以及對一些主流Python安全工具如PyDbg、 Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介紹。作者藉助於如今黑客社區中備受青睞的編程語言 Python引領讀者構建出精悍的腳本程序來一一應對上述這些問題。出現在書中的相當一部分Python代碼實例借鑒或直接來源於一些優秀的開源安全項目,諸如Pedram Amini的Paimei,由此讀者可以領略到安全研究者們是如何將黑客藝術與工程技術優雅融合來解決那些棘手問題的。

相關推薦:《Python教程》

作者簡介

Justin Seitz是一名Immunity公司的高級安全研究員,他在以往的工作中花費了大量的時間從事漏洞挖掘、逆向工程、編寫漏洞利用以及編寫Python代碼的研究。

目錄

第1章 搭建開發環境 1

1.1 操作系統要求 1

1.2 獲取和安裝Python 2.5 2

1.2.1 在Windows下安裝Python 2

1.2.2 在Linux下安裝Python 2

1.3 安裝Eclipse和PyDev 4

1.3.1 黑客摯友:ctype庫 5

1.3.2 使用動態鏈接庫 6

1.3.3 構建C數據類型 8

1.3.4 按引用傳參 9

1.3.5 定義結構體和聯合體 9

第2章 調試器原理和設計 12

2.1 通用寄存器 13

2.2 棧 15

2.3 調試事件 17

2.4 斷點 18

2.4.1 軟斷點 18

2.4.2 硬體斷點 20

2.4.3 內存斷點 22

第3章 構建自己的Windows調試器 24

3.1 Debugee,敢問你在何處 24

3.2 獲取寄存器狀態信息 33

3.2.1 線程枚舉 34

3.2.2 功能整合 35

3.3 實現調試事件處理常式 39

3.4 無所不能的斷點 44

3.4.1 軟斷點 44

3.4.2 硬體斷點 49

3.4.3 內存斷點 55

3.5 總結 59

第4章 PyDbg——Windows下的純Python調試器 60

4.1 擴展斷點處理常式 60

4.2 非法內存操作處理常式 63

4.3 進程快照 66

4.3.1 獲取進程快照 67

4.3.2 匯總與整合 70

第5章 Immunity Debugger——兩極世界的最佳選擇 74

5.1 安裝Immunity Debugger 74

5.2 Immunity Debugger 101 75

5.2.1 PyCommand命令 76

5.2.2 PyHooks 76

5.3 Exploit(漏洞利用程序)開發 78

5.3.1 搜尋exploit友好指令 78

5.3.2 「壞」字元過濾 80

5.3.3 繞過Windows 下的DEP機制 82

5.4 破除惡意軟體中的反調試常式 87

5.4.1 IsDebuugerPresent 87

5.4.2 破除進程枚舉常式 88

第6章 鉤子的藝術 90

6.1 使用PyDbg部署軟鉤子 90

6.2 使用Immunity Debugger部署硬鉤子 95

第7章 DLL注入與代碼注入技術 101

7.1 創建遠程線程 101

7.1.1 DLL注入 102

7.1.2 代碼注入 105

7.2 遁入黑暗 108

7.2.1 文件隱藏 109

7.2.2 構建後門 110

7.2.3 使用py2exe編譯Python代碼 114

第8章 Fuzzing 117

8.1 幾種常見的bug類型 118

8.1.1 緩衝區溢出 118

8.1.2 整數溢出 119

8.1.3 格式化串攻擊 121

8.2 文件Fuzzer 122

8.3 後續改進策略 129

8.3.1 代碼覆蓋率 129

8.3.2 自動化靜態分析 130

第9章 Sulley 131

9.1 安裝Sulley 132

9.2 Sulley中的基本數據類型 132

9.2.1 字元串 133

9.2.2 分隔符 133

9.2.3 靜態和隨機數據類型 134

9.2.4 二進位數據 134

9.2.5 整數 134

9.2.6 塊與組 135

9.3 行刺WarFTPD 136

9.3.1 FTP 101 137

9.3.2 創建FTP協議描述框架 138

9.3.3 Sulley會話 139

9.3.4 網路和進程監控 140

9.3.5 Fuzzing測試以及Sulley的Web界面 141

第10章 面向Windows驅動的Fuzzing測試技術 145

10.1 驅動通信基礎 146

10.2 使用Immunity Debugger進行驅動級的Fuzzing測試 147

10.3 Driverlib——面向驅動的靜態分析工具 151

10.3.1 尋找設備名稱 152

10.3.2 尋找IOCTL分派常式 153

10.3.3 搜尋有效的IOCTL控制碼 155

10.4 構建一個驅動Fuzzer 157

第11章 IDAPython——IDA PRO環境下的Python腳本編程 162

11.1 安裝IDAPython 163

11.2 IDAPython函數 164

11.2.1 兩個工具函數 164

11.2.2 段(Segment) 164

11.2.3 函數 165

11.2.4 交叉引用 166

11.2.5 調試器鉤子 166

11.3 腳本實例 167

11.3.1 搜尋危險函數的交叉代碼 168

11.3.2 函數覆蓋檢測 169

11.3.3 檢測棧變數大小 171

第12章 PYEmu——腳本驅動式模擬器 174

12.1 安裝PyEmu 174

12.2 PyEmu概覽 175

12.2.1 PyCPU 175

12.2.2 PyMemory 176

12.2.3 PyEmu 176

12.2.4 指令執行 176

12.2.5 內存修改器與寄存器修改器 177

12.2.6 處理常式(Handler) 177

12.3 IDAPyEmu 182

12.3.1 函數模擬 184

12.3.2 PEPyEmu 187

12.3.3 可執行文件加殼器 188

12.3.4 UPX加殼器 188

12.3.5 利用PEPyEmu脫UPX殼 189

如何用python做一個設備運維軟體

Python開發的jumpserver跳板機

jumpserver跳板機是一款由Python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基於ssh協議來管理,客戶端無需安裝agent。

企業主要用於解決:可視化安全管理

特點:完全開源,GPL授權

Python編寫,Django開發框架,容易再次開發

實現了跳板機基本功能:認證、授權、審計。集成了Ansible、批量命令等。功能強大。

通俗點就是起到監控誰在伺服器上做了什麼操作等。錄像回放、命令搜索、實時監控、批量上傳下載等。

第三:Python開發的Magedu分散式監控系統

以自動化運維視角為出發點,自動化功能、監控告警、性能調優,結合saltstack實現自動化配置管理等內容進行了全方位的深入剖析。

企業主要用於解決:自動化監控常用系統服務、應用、網路設備等。分散式可監控更多伺服器,分區域監控再匯總。Zabbix監控結合Python自定義監控腳本。

監控系統需求討論:

監控常用系統服務、應用、網路設備等?一台主機上可監控多個不同服務、不同服務的監控間隔可不同?同一個服務在不同主機上的監控間隔、報警閾值可不同?告警級別?數據可視化,如何做出簡潔美觀的用戶界面?如何實現單機支持5000+機器監控需求?採取何種通信方式?主動、被動?

第四:Python開發的Magedu的CMDB

cmdb的開發需要包含三部分功能:採集硬體數據、API、頁面管理。

企業主要用於解決:項目功能,採集硬體數據、Api、頁面管理。統計資產,例如伺服器存放位置,伺服器上的賬號等等。

執行服務的過程如下:伺服器的客戶端採集硬體數據,然後將硬體信息發送到API,API負責將獲取到的數據保存到資料庫中,後台管理程序負責對伺服器信息的配置和展示。

第五:Python開發的任務調度系統

Python任務調度系統的multiprocessing模塊不但支持多進程,其中managers子模塊還支持把多進程分布到多台機器上。

企業主要用於解決:通俗的理解,批量管理crontab定時任務。原理用戶通過web頁面設置任務,傳輸到任務調度系統伺服器上的客戶端,客戶端收集數據反饋給伺服器端,伺服器端根據任務具體內容調度後端的集群伺服器做定時任務。

一個服務進程可以作為調度者,將任務分布到其他多個機器的多個進程中,依靠網路通信。想到這,就在想是不是可以使用此模塊來實現一個簡單的作業調度系統。

第六:Python運維流程系統

使用python語言編寫的調度和監控工作流的平台內部用來創建、監控和調整數據管道。任何工作流都可以在這個使用Python來編寫的平台上運行。

企業主要用於解決:通俗點說就是規範運維的操作,加入審批,一步一步操作的概念。

是一種允許工作流開發人員輕鬆創建、維護和周期性地調度運行工作流(即有向無環圖或成為DAGs)的工具。這些工作流包括了如數據存儲、增長分析、Email發送、A/B測試等等這些跨越多部門的用例。

這個平台擁有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,並且提供了鉤子使得系統擁有很好地擴展性。除了一個命令行界面,該工具還提供了一個基於Web的用戶界面讓您可以可視化管道的依賴關係、監控進度、觸發任務等。

來個小總結

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256610.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:41
下一篇 2024-12-15 12:41

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論