chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享python編程經(jīng)歷

馬哥Linux運(yùn)維 ? 2018-02-09 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python已經(jīng)成為漏洞開(kāi)發(fā)領(lǐng)域的行業(yè)標(biāo)準(zhǔn),讀者會(huì)發(fā)現(xiàn)大多數(shù)概念驗(yàn)證工具都是用Python語(yǔ)言編寫(xiě)的(除了用Ruby寫(xiě)的安全漏洞檢測(cè)工具)。Python允許開(kāi)發(fā)者編寫(xiě)腳本處理遠(yuǎn)程服務(wù),處理二進(jìn)制文件,與C語(yǔ)言庫(kù)(或者Java的Jython/。Net的IronPython)以快速且簡(jiǎn)單的方式進(jìn)行交互。它“內(nèi)置電池”原則的巨大標(biāo)準(zhǔn)庫(kù),為開(kāi)發(fā)省去對(duì)其它框架或者語(yǔ)言的依賴(lài)。我想跟讀者們分享個(gè)人

的python編程經(jīng)歷,這些也許會(huì)對(duì)你未來(lái)的工作有所幫助,讓這個(gè)世界變得更加安全一些(注:大多數(shù)例子基于Python3.0以上版本編寫(xiě)的,有些可以兼容python所有分支)。

環(huán)境配置

對(duì)于你要編寫(xiě)的大多數(shù)工程或者腳本,建議讀者們最好將所有的依賴(lài)放在同一個(gè)位置(除了有些在特殊工程中才用到的依賴(lài))。為了滿(mǎn)足上述要求,需要用到一個(gè)叫virtualenv的工具(Python3.3已經(jīng)包括該工具),這個(gè)工具有一個(gè)簡(jiǎn)潔的功能,就是在不打亂全局環(huán)境的基礎(chǔ)上,為你的Python工程生成獨(dú)立的環(huán)境,生成新環(huán)境的方法如下:

$ virtualenv <新環(huán)境的路徑>

或者在Python3.3以上的環(huán)境中:

$ python3 -mvenv <新環(huán)境的路徑>

使用這個(gè)環(huán)境之前,你要先激活它:

$ source <新環(huán)境的路徑>/bin/activate

禁止該環(huán)境的方式也很簡(jiǎn)單:

$ deactivate

安裝依賴(lài)包

很多時(shí)候讀者們會(huì)發(fā)現(xiàn),借助大型python社區(qū)中的python庫(kù)編寫(xiě)的個(gè)人工具,可以幫助我們很快得到結(jié)果。你可以通過(guò)個(gè)人軟件管理包或者可用的python軟件包管理器安裝這些庫(kù),其中最權(quán)威的就是pip工具了。有了pip,你可以全局安裝這些依賴(lài)包(#pip install ),或者逐用戶(hù)安裝($ pip install --user ),或者在虛擬環(huán)境中安裝((venv) $ pip install )。讀者可以手動(dòng)地使用個(gè)人發(fā)行版包管理器,或者基于Python3.4提供的庫(kù),安裝pip包。

有一個(gè)基本的python包叫iPython,通常在我不是100%肯定該如何解決當(dāng)前任務(wù),想嘗試做些實(shí)驗(yàn)時(shí),我會(huì)安裝這個(gè)依賴(lài)包。IPython是常用的python命令行,它是基于Python編寫(xiě)的,有以下幾個(gè)特點(diǎn):

動(dòng)態(tài)對(duì)象內(nèi)省

通過(guò)Tab完成本地命名空間

持續(xù)的歷史記錄

會(huì)話日志

路徑補(bǔ)全

JIT調(diào)試器

自動(dòng)縮進(jìn)

和平常一樣,通過(guò)pip安裝也很簡(jiǎn)單:$ pip install ipython

如果你想創(chuàng)建教程或者其它文本文件,ipython中的筆記本特性(現(xiàn)在由jupyter提供)允許用戶(hù)通過(guò)個(gè)人瀏覽器和IPython命令行交互,包括markdown、 mathjax、matplotlib等工具支持。

(通過(guò)安裝jupyter(pip install jupyter)可以使用它們,開(kāi)啟筆記本服務(wù)通過(guò)(jupyter notebook))。

如果讀者們需要與包括JSON/XML的HTTP服務(wù)交互,我建議特別好用的requests依賴(lài)庫(kù)。該python庫(kù)可以處理與網(wǎng)頁(yè)交互面對(duì)的各類(lèi)操作,如編碼、解碼、參數(shù)、標(biāo)記、重定向等。例如,請(qǐng)求和解析一個(gè)JSON資源的代碼如下:

分享python編程經(jīng)歷

大多數(shù)HTML解析和交互工作都可以交給BeautifulSoup庫(kù),該python庫(kù)可以在任何現(xiàn)在瀏覽器上處理HTML輸入,包括修復(fù)受損代碼。

與網(wǎng)絡(luò)交互

我們大多數(shù)目標(biāo)都有可能在網(wǎng)絡(luò)上獲取,安裝好的標(biāo)準(zhǔn)庫(kù)中已經(jīng)包含了通用的、有用的python庫(kù),這里我對(duì)其進(jìn)行簡(jiǎn)短的介紹。socket模塊是基于BSD socket API的瘦包裝器,它在所有的通用操作系統(tǒng)都可用。所以如果你已經(jīng)有C語(yǔ)言socket編程經(jīng)驗(yàn),你可以將你的代碼輕易地翻譯成python代碼。有很多特別方便的函數(shù),如create_connection函數(shù)可以創(chuàng)建TCP socket,建立本機(jī)和給定主機(jī)或者端口的連接。另一個(gè)包裝器是sendall方法,有些數(shù)據(jù)只有當(dāng)所有給定數(shù)據(jù)都被發(fā)出,或者有錯(cuò)誤發(fā)生才能在線路中傳輸,而sendall方法可以嘗試重傳這些數(shù)據(jù)。

分享python編程經(jīng)歷

增加TSL加密鏈路也非常簡(jiǎn)單:

分享python編程經(jīng)歷

上述功能也可以在已經(jīng)使用的連接中實(shí)現(xiàn):

分享python編程經(jīng)歷

如何你不需要這些低級(jí)服務(wù)交互,還有些模塊可以提供高層服務(wù)交互:

smtplib

ftplib

poplib

imaplib

httplib (Python 3以上版本的http客戶(hù)端)

nntplib

telnetlib (應(yīng)用于服務(wù)開(kāi)發(fā)和之后的需要交互命令行會(huì)話)

xmlrpclib (Python 3以上版本的xmlrpc客戶(hù)端)

二進(jìn)制操作或編碼

當(dāng)開(kāi)發(fā)與服務(wù)或者文件交互的腳本時(shí),你經(jīng)常會(huì)發(fā)現(xiàn)需要將數(shù)據(jù)轉(zhuǎn)換為不同格式或者編碼。在Python2.x版本中,通常使用encode或者decode方法將字符串在不同格式之間轉(zhuǎn)換。

分享python編程經(jīng)歷

很可惜,這種捷徑在Python3.x版本中被取消了,encode和decode方法當(dāng)前只可以實(shí)現(xiàn)字符編碼,如utf-8, cp1250, iso8859, big5等。

作為替代,你現(xiàn)在只能使用bytes類(lèi)型的兩種方法實(shí)現(xiàn)十六進(jìn)制編碼:

分享python編程經(jīng)歷

對(duì)于Base64編碼,你需要使用另外的模塊(在Python2.x版本中也有):

分享python編程經(jīng)歷

URLs編碼或者解析可以用urllib.parse模塊實(shí)現(xiàn)(Python2.x版本中是urllib)

分享python編程經(jīng)歷

Python普通數(shù)據(jù)類(lèi)型(如int,float,str)與二進(jìn)制之間的一般轉(zhuǎn)換,可以在stuct模塊中實(shí)現(xiàn):

分享python編程經(jīng)歷

Python3.2也可以使用int類(lèi)型直接獲取其二進(jìn)制表示:

分享python編程經(jīng)歷

ctypes 模塊還有一個(gè)特別棒的特征,如果你將cpython作為解譯器(通常大家都是這樣),就可以使用ctypes.Structure結(jié)構(gòu)化描述C語(yǔ)言,獲取它們的二進(jìn)制表示,就好像從C應(yīng)用程序中轉(zhuǎn)儲(chǔ)的一樣。

分享python編程經(jīng)歷

ctypes 模塊通常是Python程序集和C語(yǔ)言庫(kù)之間的橋梁,不需要編寫(xiě)任何Python包裝器。有了ctypes模塊,你可以使用任何C語(yǔ)言庫(kù)和其輸出函數(shù):

分享python編程經(jīng)歷

上文中提到Structure 類(lèi)型主要用于C語(yǔ)言庫(kù)的交互,在函數(shù)調(diào)用過(guò)程中傳遞或者獲取結(jié)構(gòu)。

漏洞開(kāi)發(fā)工具

很多CTF團(tuán)體提供他們自己的的CTF解決方案框架,我發(fā)現(xiàn)來(lái)自Gallopsled 的pwntools框架特別有用,尤其是開(kāi)發(fā)遠(yuǎn)程elf二進(jìn)制時(shí),它包含很多方便的函數(shù),例如位移計(jì)算(通過(guò)cyclic模式)、格式化字符串開(kāi)發(fā)(普通數(shù)據(jù)饋送以及產(chǎn)生的格式化字符串)、跳轉(zhuǎn)組合(基于ropgadget解析elf二進(jìn)制以及提供生成簡(jiǎn)單跳轉(zhuǎn)組合調(diào)用的包裝器)和不同傳輸通道的全部API(稱(chēng)作管道)。這些可以讓讀者們開(kāi)發(fā)gdb編譯后端,同時(shí)簡(jiǎn)單地改變一行代碼就可以傳輸?shù)侥繕?biāo)服務(wù)。

分享python編程經(jīng)歷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141802
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95271
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86781

原文標(biāo)題:黑客們會(huì)用到哪些Python技術(shù)?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    python核心編程答案

    python核心編程》書(shū)籍課后習(xí)題配套答案,python越來(lái)越受開(kāi)發(fā)者們的喜愛(ài)!
    發(fā)表于 11-03 17:30 ?0次下載

    Python編程實(shí)例

    Python編程實(shí)例
    發(fā)表于 01-08 14:14 ?0次下載

    Python編程和機(jī)器學(xué)習(xí)編程示范代碼

    機(jī)器學(xué)習(xí)離不開(kāi)Python。所以,全球第一的AI教科書(shū)作者、Google Research總監(jiān)Peter Novig就專(zhuān)門(mén)為初學(xué)者做了一個(gè)關(guān)于Python編程示范操作的GitHub項(xiàng)目,具體的內(nèi)容可見(jiàn)下文,希望該項(xiàng)目會(huì)有助于你的
    的頭像 發(fā)表于 12-21 16:49 ?5904次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>編程</b>和機(jī)器學(xué)習(xí)<b class='flag-5'>編程</b>示范代碼

    python串口編程實(shí)例

    本文主要介紹了幾種python串口編程實(shí)例。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議。Python
    發(fā)表于 01-15 09:35 ?4.7w次閱讀

    如何學(xué)習(xí)Python?Python編程環(huán)境搭建詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何學(xué)習(xí)Python?Python編程環(huán)境搭建詳細(xì)說(shuō)明。
    發(fā)表于 04-26 08:00 ?25次下載
    如何學(xué)習(xí)<b class='flag-5'>Python</b>?<b class='flag-5'>Python</b><b class='flag-5'>編程</b>環(huán)境搭建詳細(xì)說(shuō)明

    Python編程入門(mén)講解PPT

      Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語(yǔ)言。它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡(jiǎn)單、有效地實(shí)現(xiàn)面向?qū)ο?b class='flag-5'>編程Python語(yǔ)法簡(jiǎn)潔,支持動(dòng)態(tài)輸入,是解釋性語(yǔ)言。在大多數(shù)平臺(tái)上,對(duì)于眾多
    發(fā)表于 07-08 10:43 ?35次下載
    <b class='flag-5'>Python</b><b class='flag-5'>編程</b>入門(mén)講解PPT

    Python編程的實(shí)驗(yàn)指導(dǎo)教程

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python編程的實(shí)驗(yàn)指導(dǎo)教程。
    發(fā)表于 08-18 17:11 ?24次下載
    <b class='flag-5'>Python</b><b class='flag-5'>編程</b>的實(shí)驗(yàn)指導(dǎo)教程

    Python的良好編程習(xí)慣

    Python的良好編程習(xí)慣分享。
    發(fā)表于 05-28 10:11 ?8次下載

    Python網(wǎng)絡(luò)編程基礎(chǔ)

    Python網(wǎng)絡(luò)編程基礎(chǔ)知識(shí)免費(fèi)下載。
    發(fā)表于 06-01 14:29 ?23次下載

    Python編程入門(mén)》.pdf

    Python編程入門(mén)》.pdf
    發(fā)表于 02-11 16:03 ?0次下載

    Python學(xué)習(xí)科學(xué)編程

    Python學(xué)習(xí)科學(xué)編程Python經(jīng)典教材。
    發(fā)表于 03-09 15:00 ?0次下載

    Python編程入門(mén)

    Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語(yǔ)言。它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡(jiǎn)單、有效地實(shí)現(xiàn)面向?qū)ο?b class='flag-5'>編程。
    發(fā)表于 09-14 10:43 ?0次下載

    如何搭建Python編程環(huán)境

    Python是一種高級(jí)編程語(yǔ)言,被廣泛用于科學(xué)計(jì)算、數(shù)據(jù)分析、人工智能、Web開(kāi)發(fā)等領(lǐng)域。想要學(xué)習(xí)Python編程,首先需要搭建一個(gè)合適的編程
    的頭像 發(fā)表于 04-14 12:07 ?5619次閱讀

    Python編程實(shí)戰(zhàn)(源代碼)

    [源代碼]Python編程實(shí)戰(zhàn) 妙趣橫生的項(xiàng)目之旅
    發(fā)表于 06-06 17:49 ?3次下載

    Python編程語(yǔ)言屬于什么語(yǔ)言

    Python編程語(yǔ)言屬于高級(jí)編程語(yǔ)言中的一種。它是一種通用、面向?qū)ο?、解釋?b class='flag-5'>編程語(yǔ)言。Python由Guido van Rossum于198
    的頭像 發(fā)表于 11-22 14:31 ?2392次閱讀