




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章Python滲透測試07本章內容01027.1Python編程基礎7.2
用python調用Metasploit(ms17-010)00
7.3編碼7.4用scapy模塊實現網絡攻擊與防范017.1Python編程基礎7.1.1基礎語法7.1.3分支與循環7.1.2列表與字典7.1.4函數7.1.5模塊7.1Python編程基礎學習目標項目分析相關知識項目實例項目實施項目訓練項目評價學習路徑【學習目標】1.Python的版本查看。2.熟悉的基礎語法。3.掌握Python的基本操作。7.1.1基礎語法【項目分析】
網絡安全光靠點鼠標一步步操作可不行,如果面對大量的重復運算以及需要自己構造數據包的時候,以點鼠標的方式基本上不能實現以上需求,所以需要用到Python語言是實現一些批量操作以及構造數據的處理操作。Python語言并不止用于此,其豐富的庫給用戶帶來非常多便捷的體驗。
本次任務需要從一個零開始的學習者,在KaliLinux上從打開Python的界面開始,到完成一些簡單的定義變量,輸入、輸出參數,然后變成Python的執行文件再利用操作系統的命令行實現效果。7.1.1基礎語法Python有幾個顯著的優點。一、它注重軟件質量,擁有豐富的測試工具和強大的社區支持,有助于開發高質量的軟件。二、Python的簡潔語法和豐富的庫使開發效率大幅提升,能夠快速開發和迭代應用程序。三、Python的跨平臺特性意味著幾乎可以在任何操作系統上運行,極大地提升了程序的移植性和靈活性。什么是Python、為什么用Python?7.1.1基礎語法【相關知識】
作為一個網絡管理員以及安全滲透測試員的初期階段,需要知道如何使用Python作為網絡運維以及腳本編寫,你必須要掌握如何正確地使用,才可以正確地利用Python編寫程序。
這時候網絡管理員需要掌握如何查看Python的版本,了解如何執行Python命令或者Python文件,以及定義變量、判斷對錯、引號、注釋、輸入、打印命令等基本語法。python基礎入門7.1.1基礎語法【項目實例】KaliLinux2020上查看Python版本號,并且打開Python3的界面。步驟一017.1.1基礎語法【項目實施】Python基本用法進入Python3并且輸出HelloWorld!步驟一017.1.1基礎語法【項目實施】命令界面進行基礎語法輸入定義字符串與數值并且打印;打印混合的字符串與額外字符步驟二027.1.1基礎語法【項目實施】命令界面進行基礎語法輸入Python的輸入提示框步驟三037.1.1基礎語法【項目實施】命令界面進行基礎語法輸入一行同時執行兩段代碼,用分號隔斷步驟四047.1.1基礎語法【項目實施】命令界面進行基礎語法輸入退出Python的交互界面步驟五057.1.1基礎語法【項目實施】命令界面進行基礎語法輸入編寫python腳本步驟一017.1.1基礎語法【項目實施】利用Python的.py文件執行Python命令修改文件權限并運行步驟二027.1.1基礎語法【項目實施】利用Python的.py文件執行Python命令根據項目實施的兩個步驟,學習使用python填寫以下訓練項目名稱或參數。7.1.1基礎語法【項目訓練】項目名稱項目節點節點參數查看版本號1、查看python2的版本號
2、查看python3的版本號
命令界面基礎語法1、輸出HelloWorld!
2、定義字符串與數值并且打印
3、打印混合的字符串與額外字符
4、python的輸入提示框
5、一行同時執行兩段代碼,用分號隔斷python執行py文件1、在命令行中使用python3執行文件7.1.1基礎語法【作業布置】1.根據任務實施的步驟,完成python的基礎語法測試。2.利用.py文件的方式,實現輸入字符的操作,并且輸出所輸入的字符。【學習目標】1.掌握列表的用法。2.掌握字典的操作。7.1.2列表與字典【項目分析】
目前在網絡安全的領域中,網絡安全工程師們往往會以列表或字典的形式存儲大量序列中的字符,然后通過循環語句輸出或者直接調用,這樣一來即可快速地實現重復動作快速讀取。
本階段任務在KaliLinux上打開Python的交互界面,通過創建列表與字典的方式,去對比兩者之間的不同以及實現列表與字典的效果。7.1.2列表與字典
列表和字典是Python中兩種常用的數據結構。列表是有序的集合,使用方括號[]定義,可以存儲任意類型的數據,通過索引訪問元素。字典是一種鍵-值對的無序集合,使用花括號{}定義,每個鍵值對之間用逗號分隔,可以通過鍵來快速訪問值。列表適合存儲有序的項目集合,而字典適合存儲鍵值關系的數據。列表與字典7.1.2列表與字典【相關知識】
作為一個網絡管理員以及安全滲透測試員的初期階段,需要知道如何使用Python作為網絡運維以及腳本編寫,你必須要掌握如何正確地使用,才可以正確地利用Python編寫程序。
在前面的學習中,讀者已經掌握了Python的基礎語法與使用方式。現在需要通過列表或者字典的方式,為日后的循環語句創造一個良好的環境。列表與字典7.1.2列表與字典【項目實例】創建一個包含了幾個值的列表listtest步驟一017.1.2列表與字典【項目實施】創建與修改列表打印列表的第一個值和第一個到第三個的值步驟二027.1.2列表與字典【項目實施】創建與修改列表修改列表第二個值與插入一個新的值步驟三037.1.2列表與字典【項目實施】創建與修改列表刪除列表的第一個值(aa)步驟四047.1.2列表與字典【項目實施】創建與修改列表創建一個包含三個鍵值的字典,其中一個值為空步驟一017.1.2列表與字典【項目實施】創建與修改字典修改第二個鍵值的值步驟二027.1.2列表與字典【項目實施】創建與修改字典根據項目實施的兩個步驟,學習使用列表與字典填寫以下訓練項目名稱或參數。7.1.2列表與字典【項目訓練】項目名稱項目節點節點參數創建與修改列表1、創建一個包含了幾個值的列表listtest
2、打印列表的第一個值和第一到第三個值
3、修改列表第二個值與插入一個新的值4、刪除列表的第一個值創建與修改字典1、創建一個包含三個鍵值的字典,其中一個值為空2、修改第二個鍵值的值為37.1.2列表與字典【作業布置】1.根據任務實施的步驟,完成列表與字典的測試。2.創建一個名為list1的列表,對列表添加10個內容,并且輸出第1到第6個的內容。【學習目標】1.掌握分支語句的用法。2.掌握for循環語句。3.掌握while循環語句。7.1.3分支與循環【項目分析】
在寫Python程序的過程中,程序編寫者往往會發現如果順序執行的時候,程序沒有問題,一旦出現條件判斷時,則需要通過分支語句進行程序的分別執行。而往往遇到繁瑣重復的情況下,其不斷重復的過程也是相當于多了很多不必要的代碼,因此出現了循環語句。7.1.3分支與循環
分支語句(if語句)根據條件表達式的真假來執行不同的代碼分支,這使得程序可以根據不同的情況采取不同的行動。在Python中,if語句通常會與else或者elif(elseif的縮寫)結合使用,以覆蓋多個條件。
循環結構則允許程序重復執行特定的代碼塊,直到滿足退出條件為止。for循環用于遍歷可迭代對象中的元素,而while循環則基于條件判斷來決定是否繼續執行循環體內的代碼。使用if語句判斷范圍7.1.3分支與循環【相關知識】
網絡管理員為了方便批量管理機房,為節省時間,需要用到分支語句判定IP地址數是否超出默認地址范圍,假設第一間機房以/24開始,第二間機房為/24,以此類推,一共有十間機房,管理員需要單獨針對某間機房進行配置更改,通過分支語句,判斷管理員輸入的數字是否超出機房IP號,并且通過循環語句,首先判斷要對從第一臺主機開始到某一臺主機結束,如果超出可用地址范圍,則重新輸入,最后打印該機房需要被更改配置的IP地址。ip判斷7.1.3分支與循環【項目實例】定義輸入變量步驟一017.1.3分支與循環【項目實施】使用if語句判斷范圍編寫分支語句步驟二027.1.3分支與循環【項目實施】使用if語句判斷范圍執行程序測試步驟三037.1.3分支與循環【項目實施】使用if語句判斷范圍創建while循環判斷循環是否結束步驟一017.1.3分支與循環【項目實施】通過循環語句輸出需要被更改配置的IP地址建立實訓室IP地址的輸出循環步驟二027.1.3分支與循環【項目實施】通過循環語句輸出需要被更改配置的IP地址程序輸出結果步驟三037.1.3分支與循環【項目實施】通過循環語句輸出需要被更改配置的IP地址根據項目實施的兩個步驟,學習使用分支和循環填寫以下訓練項目名稱或參數。7.1.3分支與循環【項目訓練】項目名稱項目節點節點參數使用if語句1、定義輸入變量
2、編寫分支語句編寫分支語句
通過循環語句輸出需要被更改配置的IP地址1、創建while循環判斷循環是否結束
2、建立實訓室IP地址的輸出循環
3、程序輸出結果
學生自評01學生互評027.1.3分支與循環【項目評價】7.1.3分支與循環【作業布置】1.根據任務實施的步驟,完成python的分支與循環的學習。2.使用input函數輸入兩個數字,使用if語句比大小后,輸出大的數字。3.使用for循環,輸出/16網段的所有地址。4.使用while循環,輸出所輸入的值,直到輸入999循環結束。【學習目標】1.熟悉函數的構造。2.掌握編寫以及調用函數的方法。7.1.4函數【項目分析】
在程序的編寫當中,程序員設計師所接觸的程序場景過多,往往會出現大部分相似的場景,程序當中的一些參數可能會出現變化,但本質上是可以通過過往所編寫的程序執行,只是參數的不同導致同一個程序需要部分修改后才能運行。
為了解決這一事情,利用程序語言中Python語言中函數的方式去解決不同參數引起的問題。即程序的執行方法一致,所需要的參數需要外部程序進行傳輸,通過外部參數替代函數內部的空缺參數執行函數的完整過程,之后將函數的執行結果返回到外部程序,完成函數的調用。7.1.4函數
函數是已經預先寫好,并且可以被重復調用的代碼。函數分為Python內置的與使用者自定義的函數。
自定義函數以def為關鍵字開頭,在關鍵字后利用函數名稱作為函數標識,注意函數名稱不能與其他函數名稱重復!在函數名稱后有一對圓括號,圓括號內部是該函數的參數,函數的參數可以從外部傳入,也可以自定義參數,圓括號后接冒號,以冒號為函數的開始。什么是函數7.1.4函數【相關知識】
最近網絡安全測試員小溫在程序編寫的時候發現經常寫重復的程序,但是之前的程序又與現在任務的程序不匹配,小溫同學想到利用Python函數的方式,為之前做的批量輸出機房IP地址的程序可以直接被其他Python程序作為程序調用那些輸出的IP地址,這樣的話就可以簡單快捷地管理整個網絡。函數的編寫7.1.4函數【項目實例】定義函數名為iproom步驟一017.1.4函數【項目實施】編寫好后端的機房IP函數將7.1.3章節的機房IP輸出程序轉化為可調用的函數步驟二027.1.4函數【項目實施】編寫好后端的機房IP函數測試步驟三037.1.4函數【項目實施】編寫好后端的機房IP函數根據項目實施的兩個步驟,學習使用函數。填寫以下訓練項目名稱或參數。7.1.4函數【項目訓練】項目名稱項目節點節點參數函數1、定義函數名為iproom
2、將7.1.3章節的機房IP輸出程序轉化為可調用的函數
7.1.4函數【作業布置】1.根據任務實施的步驟,完成python的函數學習。2.嘗試編輯一個有關于加法的函數。【學習目標】1.了解模塊的概念。2.掌握os、hashlib的概念與用法。7.1.5模塊【項目分析】
在Python語言中,Python解釋器已經內置了非常多的模塊,而我們作為網絡安全方面的使用者,應該了解什么是對于網絡安全方面來說,什么是經常使用的模塊,而后把經常會使用到的模塊深入學習,了解其內部的功能以及實現方式。7.1.5模塊
其實Python模塊分為四種形式,一種是已經編寫好的.py結尾的文件,我們在第四節學習的函數,其實也是模塊的一種,也就是說,一個py的文件也可以叫做是一個Python模塊。與之一樣的,還有已經被編譯好的C++擴展或者是DLL庫,也可以是一個模塊。模塊可以讓用戶更加簡潔的組織Python程序的編寫,但是自定義的模塊不可以與內置模塊的名稱相同。什么是Python的模塊?7.1.5模塊【相關知識】
網絡安全工程師打算利用Python的OS模塊對本終端(KaliLinux)進行簡單的程序測試,查看/root目錄下的文件,并且利用hashlib模塊,將/etc/hosts文件的內容進行加密處理。模塊使用7.1.5模塊【項目實例】定義py文件modtest.py以及引入os模塊步驟一017.1.5模塊【項目實施】使用OS模塊編寫程序復制以及查看文件的代碼利用os模塊讀取/root目錄下的文件步驟二027.1.5模塊【項目實施】使用OS模塊編寫程序復制以及查看文件的代碼測試讀取程序步驟三037.1.5模塊【項目實施】使用OS模塊編寫程序復制以及查看文件的代碼在modtest.py中引入hashlib模塊步驟一017.1.5模塊【項目實施】利用hashlib加密文件的內容測試加密/etc/host文件的內容步驟一二027.1.5模塊【項目實施】利用hashlib加密文件的內容根據項目實施的兩個步驟,學習使用模塊。填寫以下訓練項目名稱或參數。7.1.5模塊【項目訓練】項目名稱項目節點節點參數使用OS模塊編寫程序復制以及查看文件的代碼1、定義py文件modtest.py以及引入os模塊
2、利用os模塊讀取/root目錄下的文件
利用hashlib加密文件的內容1、在modtest.py中引入hashlib模塊7.1.5模塊【作業布置】1.根據任務實施的步驟,完成python的模塊內容學習。2.利用Python的hashlib模塊對/etc/passwd文件進行加密。3.利用Python的OS模塊讀取/etc目錄下的所有文件,并將該文件名存在列表list1中。017.2用python調用Metasploit(ms17-010)【學習目標】1.掌握python調用Metasploit(MS17010)的程序編寫。7.2用python調用Metasploit【項目分析】
通過之前的學習,已經基本掌握了整個Python語言的編寫,現在結合更前面章節內容,聯動Python,實現通過Python程序調用Metasploit里面的MS17010模塊,對模擬靶機實行滲透測試。7.2用python調用Metasploit
通過Python語言的編寫,實現調用Metasploit里面的所有工具,從而使得不管是不是MS17010,都可以通過Python程序進行調用。python結合工具7.2用python調用Metasploit【相關知識】
網絡安全工程師小溫接到一個模擬滲透測試的任務,由于msf操作步驟多,故此想通過Python的方式調用Metasploit的內部模塊,從而實現利用程序進行滲透測試。滲透測試7.2用python調用Metasploit【項目實例】使用Python調用Metasploit所需要用到的變量步驟一017.2用python調用Metasploit【項目實施】使用Python調用Metasploit將Metasploit里面的MS17-010漏洞進行調用步驟一017.2用python調用Metasploit【項目實施】將Metasploit里面的MS17-010漏洞進行調用并且測試結果對靶機28進行測試步驟二027.2用python調用Metasploit【項目實施】將Metasploit里面的MS17-010漏洞進行調用并且測試結果根據項目實施的兩個步驟,學習使用python調用msf填寫以下訓練項目名稱或參數。7.2用python調用Metasploit【項目訓練】項目名稱項目節點節點參數使用Python調用Metasploit號1、使用Python調用Metasploit所需要用到的變量
將Metasploit里面的MS17010漏洞進行調用并且測試結果1、將Metasploit里面的MS17010漏洞進行調用
2、對靶機進行測試
7.2用python調用Metasploit【作業布置】1.根據任務實施的步驟,完成用python調用Metasploit(MS17010)。037.3編碼7.3.1url編碼7.3.2Base64編碼7.3.1url編碼學習目標項目分析相關知識項目實例項目實施項目訓練項目評價學習路徑【學習目標】1、了解url編碼的作用2、掌握使用Python對url編碼與解碼的能力。7.3.1url編碼【項目分析】url編碼是瀏覽器用來打包數據的表單輸入的格式,有一些url編碼是不能直接傳送到服務器中的,需要移除那些不能傳送的字符,并且重新對那些字符進行編碼,作為url的一部分發送給服務器。7.3.1url編碼URL編碼在日常生活中比較少的運營到,大部分瀏覽器都會將輸入到地址欄的非數字字母自動轉換為url編碼。但是現在SQL注入是一種主流攻擊滲透技術,所以可以利用url編碼進行編寫防止SQL注入的腳本。url編碼的作用7.3.1url編碼【相關知識】網絡安全工程師小溫想使用對瀏覽器的url實現編碼技術,并且同時進行解壓,以實現對瀏覽器的安全傳輸加固測試。url編碼的應用7.3.1url編碼【項目實例】引入url相關模塊并且定義變量步驟一017.3.1url編碼【項目實施】使用Python進行url編碼對輸入的URL進行編碼步驟二027.3.1url編碼【項目實施】使用Python進行url編碼測試url編碼效果步驟三037.3.1url編碼【項目實施】使用Python進行url編碼引入模塊并定義獲取URL編碼的變量步驟一017.3.1url編碼【項目實施】使用Python對已經進行url編碼的字段進行解碼對變量獲取的url編碼進行解碼步驟二027.3.1url編碼【項目實施】使用Python對已經進行url編碼的字段進行解碼測試步驟一的編碼是否能夠解碼成功步驟三037.3.1url編碼【項目實施】使用Python對已經進行url編碼的字段進行解碼根據項目實施的兩個步驟,學習使用crunch生成制定規則密碼字典。填寫以下訓練項目名稱或參數。7.3.1url編碼【項目訓練】項目名稱項目節點節點參數url編碼與解碼1、完成用python進行url編碼
2、完成用python進行url解碼
url鏈接進行編碼與解碼1、對任意一個網站的url鏈接進行編碼測試
2、對任意一個網站的url鏈接進行解碼測試
7.3.1url編碼【作業布置】思考題:url編碼如何能夠防止SQL注入呢?【學習目標】1、掌握使用Python對Base64編碼的能力。2、掌握使用Python對Base64解碼的能力。7.3.2Base64編碼【項目分析】
在計算機字節組合當中,ascii碼存在比較多的不可見字符。在網絡進行ascii碼的數據傳輸時,有可能會經過某些網絡設備,每個網絡設備對字符的處理上不一定都是相同的,有些網絡設備對基于ascii碼的不可見字符可能會進行特殊處理,造成數據結構丟失,使得數據傳輸失敗。而Base64編碼則可以將所有字符轉化為可見字符,這樣子就杜絕了許多因字符編碼問題而造成的傳輸失敗。7.3.2Base64編碼Base64編碼可以在網絡傳輸的環境中傳送長度較長的標志信息。例如用傳遞HTTP的表單參數。并且,在某些應用程序當中,也會將一些數據轉換為base64。Base64編碼不僅比較簡短,同時也具有不可讀性,也就是說編碼的內容即使被人看到也不能看出里面傳遞的數據是什么,需要解碼后才能正常閱讀。Base647.3.2Base64編碼【相關知識】網絡安全工程師小溫想使用Base64編碼對數據進行混淆,之后再進行解碼獲取原來的數據。Base64編碼與解碼7.3.2Base64編碼【項目實例】引入base64相關模塊并且定義變量步驟一017.3.2Base64編碼【項目實施】使用Python進行Base64編碼對輸入的數據進行編碼步驟二027.3.2Base64編碼【項目實施】使用Python進行Base64編碼測試Base64編碼效果步驟三037.3.2Base64編碼【項目實施】使用Python進行Base64編碼引入模塊并定義獲取Base64解碼的變量步驟一017.3.2Base64編碼【項目實施】使用Python對已經進行Base64編碼的字段進行解碼對變量獲取的Base64編碼進行解碼步驟二027.3.2Base64編碼【項目實施】使用Python對已經進行Base64編碼的字段進行解碼測試步驟一的編碼是否能夠解碼成功步驟三037.3.2Base64編碼【項目實施】使用Python對已經進行Base64編碼的字段進行解碼根據任務實施的步驟,完成用python進行base64編碼與解碼。填寫以下訓練項目名稱或參數。7.3.2Base64編碼【項目訓練】項目名稱項目節點節點參數base64編碼與解碼1、Base64編碼的概念
2、對指定base64進行編碼與解碼
7.3.2Base64編碼【作業布置】思考題:base64編碼在傳輸過程中的報文是什么樣子的呢?047.4用scapy模塊實現網絡攻擊與防范7.4.1主機發現7.4.2端口開放狀態【學習目標】1、了解icmp包的構造。2、掌握構造與發送icmp報文的方法。7.4.1主機發現【項目分析】
網絡安全工程師一般在對某網段進行主機存活測試的項目中,會通過Python語言構造icmp報文,icmp報文其實就是ping命令所發送的報文,當范圍內主機收到構造的報文并回復時,主機會回復icmp協議表示自己在線,如此一來,當構造的icmp報文收到響應結果的話,即代表目標存活。7.4.1主機發現Icmp報文的格式7.4.1主機發現【相關知識】網絡安全工程師小溫打算對公司的內部網絡做一次主機存活檢測,查看是否出現未知的主機出現在公司內部,小溫設計通過Python的scapy模塊進行icmp報文的狗仔,然后通過ICMP協議進行ping測試,看看當發送icmp報文后到有多少臺主機收到并回復。icmp主機存活檢測7.4.1主機發現【項目實例】引入scapy模塊并構造IP地址表步驟一017.4.1主機發現【項目實施】導入模塊并設置需要被檢測的IP段構造虛假icmp報文步驟一017.4.1主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鄉村醫生考試題庫:農村居民健康素養提升專業模擬試卷
- 2025年醫保知識考試題庫:異地就醫結算政策應用試題
- 智能零售平臺升級服務合同
- 項目申報合作協議書
- 酒店聘用員工勞動合同
- 2025年中考英語聽力理解沖刺試卷
- 2025全國翻譯專業資格(水平)考試加拿大瑞士德語二級筆譯試卷
- 2025年寵物美容師職業技能考核試卷:寵物美容師急救知識掌握
- 2025全國英語等級考試(PETS)二級試卷閱讀理解高分技巧
- 2025年大學統計學期末考試:學術論文寫作中的數據挖掘與分析試題
- 中國資源循環集團有限公司招聘筆試真題2024
- 兒科門診工作制度
- 比亞迪入職考試題及答案
- 第三單元7.美麗鄉村 課件 -2024-2025學年浙人美版(2024)初中美術七年級下冊
- 中國詩詞測試題及答案
- T-DZJN 377-2024 數據中心基礎設施健康程度評價規范
- 《一起長大的玩具》閱讀測試題(含答案)(江蘇鳳凰)
- 吉林長春歷年中考語文現代文閱讀真題26篇(截至2024年)
- 互聯網驅動的保險創新
- 汽車線控底盤與智能控制課件:線控懸架系統認知
- 2025年度數據中心10kv配電設備維保服務合同3篇
評論
0/150
提交評論