關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
CTF那些事兒 讀者對(duì)象:網(wǎng)絡(luò)安全研究人員
本書(shū)創(chuàng)新性的提出新的CTF知識(shí)學(xué)習(xí)框架,按照安全雜項(xiàng)入門(mén)、隱寫(xiě)術(shù)、Web滲透、密碼學(xué)基礎(chǔ)、軟件逆向工程、二進(jìn)制程序漏洞利用(PWN)的順序構(gòu)建知識(shí)體系,每節(jié)附有大量實(shí)操練習(xí),即使是完全沒(méi)有網(wǎng)絡(luò)安全基礎(chǔ)的“新人”,也能對(duì)照書(shū)中操作,獨(dú)立復(fù)現(xiàn)實(shí)驗(yàn)內(nèi)容。
本書(shū)由北航Lancet戰(zhàn)隊(duì)核心成員傾力編寫(xiě),根據(jù)多年來(lái)的CTF競(jìng)賽和培訓(xùn)經(jīng)驗(yàn),總結(jié)了全新的CTF知識(shí)學(xué)習(xí)框架,按照安全雜項(xiàng)、隱寫(xiě)術(shù)、密碼學(xué)、Web滲透、軟件逆向工程、二進(jìn)制程序漏洞利用(PWN)、工業(yè)控制系統(tǒng)安全的順序安排章節(jié)內(nèi)容,每章中附有大量案例和實(shí)操練習(xí)。任何網(wǎng)絡(luò)安全初學(xué)者都可以對(duì)照書(shū)中的講解,系統(tǒng)學(xué)習(xí)CTF相關(guān)的知識(shí)并進(jìn)行實(shí)踐,熟練掌握相關(guān)的技術(shù)、工具和比賽技巧。本書(shū)適合作為CTF競(jìng)賽參賽者的訓(xùn)練教材和培訓(xùn)材料,也適合作為網(wǎng)絡(luò)安全技術(shù)人員培訓(xùn)教程或技術(shù)參考書(shū)。
前 言
為什么寫(xiě)這本書(shū) CTF(Capture The Flag)一般翻譯為“奪旗”,起源于古代的戰(zhàn)爭(zhēng),后來(lái)逐漸轉(zhuǎn)變?yōu)闅W美的一種傳統(tǒng)運(yùn)動(dòng)。在網(wǎng)絡(luò)空間安全領(lǐng)域,CTF已經(jīng)成為一種重要的競(jìng)賽形式。 CTF比賽是快速提升網(wǎng)絡(luò)安全實(shí)戰(zhàn)技能的重要途徑,已成為各個(gè)行業(yè)選拔網(wǎng)絡(luò)安全人才的通用方法。但是,本書(shū)作者在從事CTF培訓(xùn)的過(guò)程中,發(fā)現(xiàn)存在幾個(gè)突出的問(wèn)題: 1)線下CTF比賽培訓(xùn)中存在嚴(yán)重的“最后一公里”問(wèn)題,線下培訓(xùn)講師的水平參差不齊。 2)國(guó)內(nèi)高等院校和職業(yè)院校的網(wǎng)絡(luò)空間安全學(xué)科與專業(yè)缺乏實(shí)戰(zhàn)型、系統(tǒng)化的教材和配套實(shí)驗(yàn)課程。例如,Base64編碼是網(wǎng)絡(luò)安全行業(yè)的基礎(chǔ)知識(shí),但是學(xué)校的教材并不涉及該知識(shí)點(diǎn),也沒(méi)有專門(mén)的實(shí)驗(yàn)課對(duì)該知識(shí)進(jìn)行講解。 3)大部分CTF比賽書(shū)籍對(duì)想學(xué)習(xí)網(wǎng)絡(luò)空間安全技術(shù)的新人不夠友好,很多初學(xué)者找不到快速、有效的學(xué)習(xí)方法。 為了解決上述問(wèn)題,幫助零基礎(chǔ)的學(xué)習(xí)者快速掌握基本技能,同時(shí)吸引更多的人關(guān)注網(wǎng)絡(luò)空間安全技能的學(xué)習(xí),推進(jìn)CTF比賽的發(fā)展,本書(shū)創(chuàng)新性地提出新的CTF知識(shí)學(xué)習(xí)框架,并在每一章附有大量實(shí)操練習(xí),即使是沒(méi)有網(wǎng)絡(luò)空間安全知識(shí)基礎(chǔ)的新手,也能按照書(shū)中的操作獨(dú)立復(fù)現(xiàn)實(shí)驗(yàn)內(nèi)容。 本書(shū)不僅講授了網(wǎng)絡(luò)空間安全相關(guān)的基礎(chǔ)知識(shí)和操作技能,還探討了CTF賽題的本質(zhì),著重闡述了面對(duì)不同類型題目時(shí)的分析思路和方法。比如,我們首次提出“圖像隱寫(xiě)三板斧”“逆向真經(jīng)”等解題思維模式,并較為全面地總結(jié)了CTF比賽中對(duì)工控安全相關(guān)知識(shí)的考查方式。從線下培訓(xùn)的效果來(lái)看,這些方法的實(shí)用性極強(qiáng)。 網(wǎng)絡(luò)空間安全技術(shù)不應(yīng)該被神秘化,更不應(yīng)該被人為地高深化、復(fù)雜化。我們希望通過(guò)喜聞樂(lè)見(jiàn)的方式,以通俗易懂、幽默風(fēng)趣的語(yǔ)言普及網(wǎng)絡(luò)空間安全的知識(shí),從而提高公眾的網(wǎng)絡(luò)空間安全意識(shí),進(jìn)而促進(jìn)全行業(yè)水平的提高,為我國(guó)成為網(wǎng)絡(luò)安全強(qiáng)國(guó)打下堅(jiān)實(shí)的基礎(chǔ)。 CTF比賽的意義 在一些人眼中,CTF比賽就是一種游戲,這種看法不無(wú)道理。一是因?yàn)榻^大多數(shù)CTF賽題難以上升到高深的理論研究層面;二是受比賽時(shí)間與場(chǎng)景搭建等客觀條件的制約,CTF賽題的復(fù)雜度和運(yùn)算量與現(xiàn)實(shí)的業(yè)務(wù)場(chǎng)景有巨大的差距。 古語(yǔ)有云:不以一眚掩大德。在作者看來(lái),CTF比賽對(duì)于我國(guó)網(wǎng)絡(luò)安全行業(yè)發(fā)展具有舉足輕重的作用。 2015年,我國(guó)在高等院校正式設(shè)立“網(wǎng)絡(luò)空間安全”一級(jí)學(xué)科與專業(yè),經(jīng)過(guò)這些年的努力,專業(yè)建設(shè)取得了長(zhǎng)足的發(fā)展,但是在課程和知識(shí)體系方面與傳統(tǒng)專業(yè)相比仍有不足。CTF比賽有利于促進(jìn)高校網(wǎng)絡(luò)空間安全相關(guān)專業(yè)的課程體系建設(shè),并彌補(bǔ)教學(xué)過(guò)程中課程銜接不緊密帶來(lái)的“知識(shí)盲區(qū)”,尤其是那些教材中沒(méi)有出現(xiàn)但在實(shí)踐中經(jīng)常遇到的重要知識(shí)點(diǎn)。例如,通過(guò)學(xué)習(xí)軟件逆向分析技術(shù),讀者可以將匯編語(yǔ)言、編譯原理、數(shù)據(jù)結(jié)構(gòu)、C語(yǔ)言、操作系統(tǒng)、計(jì)算機(jī)體系結(jié)構(gòu)等課程中學(xué)到的知識(shí)融會(huì)貫通,綜合運(yùn)用,從而為今后解決實(shí)際的網(wǎng)絡(luò)安全問(wèn)題奠定堅(jiān)實(shí)的基礎(chǔ)。 目前,國(guó)內(nèi)專業(yè)的網(wǎng)絡(luò)安全人才非常短缺,同時(shí)各個(gè)企業(yè)對(duì)于員工的網(wǎng)絡(luò)安全技能的要求與日俱增。與其他專業(yè)人員相比,網(wǎng)絡(luò)安全從業(yè)人員的工程實(shí)踐能力尤為重要。CTF比賽是網(wǎng)絡(luò)安全人才從小白到高手的演武廳與練兵場(chǎng)。通過(guò)參與CTF比賽,可以提高網(wǎng)絡(luò)安全實(shí)戰(zhàn)技能。CTF比賽可以快速提升能力,彌補(bǔ)學(xué)校教育中“重理論,輕實(shí)踐”的不足。大部分CTF題目不需要選手具備特別深入的理論知識(shí),即使已經(jīng)忘記了相關(guān)的理論知識(shí),通過(guò)CTF比賽的鍛煉,選手的網(wǎng)絡(luò)安全實(shí)戰(zhàn)技能仍可以有效提高,從而滿足企業(yè)日常在網(wǎng)絡(luò)安全方面的需求。 最后,在我國(guó)現(xiàn)行的法律制度下,CTF比賽是普及和學(xué)習(xí)網(wǎng)絡(luò)安全知識(shí)的有效途徑。隨著《中華人民共和國(guó)網(wǎng)絡(luò)安全法》的實(shí)施,網(wǎng)絡(luò)安全技術(shù)野蠻發(fā)展的時(shí)代一去不復(fù)返。但現(xiàn)階段網(wǎng)絡(luò)安全問(wèn)題層出不窮,危害日益嚴(yán)重。CTF比賽不僅滿足了企業(yè)在真實(shí)場(chǎng)景下培養(yǎng)員工網(wǎng)絡(luò)安全技能的需求,也規(guī)避了網(wǎng)絡(luò)漏洞肆意傳播的危害。這也是越來(lái)越多的企業(yè)將CTF比賽作為員工內(nèi)部考核的主要方式的原因。 綜上所述,CTF比賽的重要特點(diǎn)是能夠快速、高效地培養(yǎng)出滿足當(dāng)前社會(huì)發(fā)展需求的網(wǎng)絡(luò)安全人才。 本書(shū)特色 1.提出了適合國(guó)內(nèi)讀者的網(wǎng)絡(luò)安全學(xué)習(xí)框架 CTF比賽起源于國(guó)外,很多學(xué)習(xí)資料也是由英文翻譯而來(lái),但這些資料可能并不適合國(guó)內(nèi)學(xué)習(xí)者學(xué)習(xí)使用。本書(shū)根據(jù)國(guó)內(nèi)計(jì)算機(jī)學(xué)科與網(wǎng)絡(luò)空間安全學(xué)科的知識(shí)體系,按照安全雜項(xiàng)(隱寫(xiě))、密碼學(xué)基礎(chǔ)、Web滲透、軟件逆向工程、二進(jìn)制程序漏洞利用(PWN)、工業(yè)控制系統(tǒng)安全的順序構(gòu)建知識(shí)框架。 之所以采用這樣的學(xué)習(xí)框架,是基于以下考慮:安全雜項(xiàng)方面的介紹以工具為主,適合新手快速學(xué)習(xí)和入門(mén),其中的很多知識(shí)點(diǎn)也是其他方向的基礎(chǔ);密碼學(xué)在Web滲透、軟件逆向工程、PWN中極為常見(jiàn),所以安排在安全雜項(xiàng)之后講解;Web滲透一直是網(wǎng)絡(luò)安全領(lǐng)域的熱點(diǎn),因此放在密碼學(xué)之后學(xué)習(xí);接下來(lái)講解二進(jìn)制程序的知識(shí),先介紹軟件逆向分析,然后介紹二進(jìn)制程序漏洞利用,因?yàn)樵絹?lái)越多的PWN題目要求先讀懂程序的邏輯,所以把逆向的知識(shí)放到PWN前面講解,而且把PWN部分分為兩章,主要包括棧漏洞利用、堆漏洞利用以及如何防護(hù);最后介紹當(dāng)前比較火熱的工業(yè)控制系統(tǒng)安全。 2.零基礎(chǔ)高效掌握網(wǎng)絡(luò)安全技能 很多讀者對(duì)于學(xué)習(xí)網(wǎng)絡(luò)安全知識(shí)有畏難心理,為了幫助他們實(shí)現(xiàn)網(wǎng)絡(luò)安全基礎(chǔ)知識(shí)和實(shí)操技能從“0”到“1”的突破,本書(shū)提供了適當(dāng)?shù)墓ぞ吆拓S富的例題,這些例題代表性強(qiáng),實(shí)操方便,有助于讀者理解書(shū)中講授的知識(shí)點(diǎn)。為方便初學(xué)者,每個(gè)例題都給出了詳細(xì)的思路和解題步驟。雖然書(shū)中用到的一些工具可能已經(jīng)不是網(wǎng)絡(luò)安全實(shí)踐中的主流工具,但對(duì)于新手而言,這些工具仍有十分重要的示范意義。本書(shū)的目的是介紹CTF比賽的基本知識(shí)和實(shí)操技能,因此并沒(méi)有加入較多“炫技”的內(nèi)容。希望讀者通過(guò)本書(shū)的學(xué)習(xí),打下牢固的基礎(chǔ),進(jìn)而能夠自學(xué)網(wǎng)絡(luò)安全中更高級(jí)的內(nèi)容。 誰(shuí)適合讀這本書(shū) 本書(shū)適合以下讀者閱讀: 1)想系統(tǒng)學(xué)習(xí)網(wǎng)絡(luò)安全基礎(chǔ)技能的讀者。本書(shū)作者的初衷,是希望以通俗易懂的方式呈現(xiàn)網(wǎng)絡(luò)安全基礎(chǔ)知識(shí)和技能,凡是對(duì)網(wǎng)絡(luò)安全感興趣的人都可以學(xué)習(xí)本書(shū)。 2)政府機(jī)關(guān)、事業(yè)單位、國(guó)企及其他企業(yè)的技術(shù)人員。對(duì)于各類企業(yè)中需要參加CTF比賽的讀者而言,本書(shū)可以作為賽前訓(xùn)練的指導(dǎo)書(shū),幫助他們?cè)诙虝r(shí)間內(nèi)快速掌握網(wǎng)絡(luò)安全技能。 3)高等院校和職業(yè)院校學(xué)生。對(duì)于高等院校和職業(yè)院校的學(xué)生,本書(shū)可以作為他們學(xué)習(xí)網(wǎng)絡(luò)安全知識(shí)的“準(zhǔn)教材”,有效補(bǔ)充理論知識(shí)與實(shí)操技能的不足。 4)網(wǎng)絡(luò)安全培訓(xùn)和比賽從業(yè)人員。我們希望拋磚引玉,使本書(shū)成為網(wǎng)絡(luò)安全培訓(xùn)的基礎(chǔ)教材和重要參考書(shū),促進(jìn)CTF比賽和培訓(xùn)行業(yè)的進(jìn)一步發(fā)展。 如何使用和閱讀這本書(shū) 本書(shū)提供所有例題需要的工具包和腳本等資源,以方便讀者自行練習(xí)。根據(jù)本書(shū)的章節(jié)結(jié)構(gòu),每節(jié)的例題會(huì)單獨(dú)保存為一個(gè)文件夾。例如,第1章的1.1.1節(jié)Base64編碼中,有例題b64steg.txt,這個(gè)例題保存的路徑為:/CTF那些事兒/題目/第1章例題/1-1/b64steg.txt。其他題目的路徑以此類推。讀者可以到出版社網(wǎng)站下載上述資源,或發(fā)郵件至jsjed@hz.cmpbook.com索取本書(shū)資源。 考慮到例題中所使用的工具或腳本在CTF比賽中有一定的廣泛性和適用性,因此工具和腳本按照題目類型分文件夾保存,方便讀者后續(xù)使用。例如,第1章和第2章均屬于安全雜項(xiàng)(MISC)范疇,這兩章例題所對(duì)應(yīng)的工具都在文件夾“/CTF那些事兒/工具包/MISC-工具包.zip/”中。例題b64steg.txt所使用的解題腳本b64steg.py就在上述文件夾中。 由于本書(shū)主要講解CTF比賽的初級(jí)知識(shí),因此提供的工具和腳本對(duì)于大部分簡(jiǎn)單和中等難度題目有較好的效果,但并不能保證可以解答所有的CTF比賽題目。如果題目難度較大或考點(diǎn)和書(shū)中例題不一致,我們建議讀者根據(jù)題目需求修改工具包中的腳本,千萬(wàn)不要生搬硬套。 另外,本書(shū)盡可能詳盡地給出操作步驟的截圖和說(shuō)明,讀者最好能對(duì)照例題講解進(jìn)行同步實(shí)踐,從而深入理解解題思路和相關(guān)工具的使用方法。 本書(shū)涉及的知識(shí)和技術(shù)與真實(shí)世界中的網(wǎng)絡(luò)攻防息息相關(guān),希望讀者在學(xué)習(xí)了相關(guān)內(nèi)容后,能夠進(jìn)一步提高網(wǎng)絡(luò)防御能力,在實(shí)踐中切實(shí)維護(hù)單位或企業(yè)的網(wǎng)絡(luò)安全,為我國(guó)的網(wǎng)絡(luò)安全建設(shè)添磚加瓦。 編寫(xiě)分工 本書(shū)由北京航空航天大學(xué)的Lancet網(wǎng)絡(luò)安全戰(zhàn)隊(duì)傾力打造。Lancet戰(zhàn)隊(duì)指導(dǎo)老師李舟軍任本書(shū)主編,負(fù)責(zé)本書(shū)總體策劃和編寫(xiě)組織工作,并審校全稿。Lancet戰(zhàn)隊(duì)的主力隊(duì)員趙宇飛、王宇、張翼鵬和楊立群分別負(fù)責(zé)各章的編寫(xiě)。本書(shū)共有9章,各章的主要內(nèi)容介紹如下: 第0章?主要介紹CTF比賽的歷史、CTF比賽的賽制、國(guó)內(nèi)外知名的CTF比賽和戰(zhàn)隊(duì),以及閱讀本書(shū)前需要準(zhǔn)備的相關(guān)實(shí)驗(yàn)環(huán)境。該章由李舟軍、趙宇飛撰寫(xiě)。 第1章?講解常見(jiàn)的安全雜項(xiàng)題目類型和解題方法。 第2章?介紹安全雜項(xiàng)中隱寫(xiě)部分的相關(guān)知識(shí),重點(diǎn)介紹“圖像隱寫(xiě)三板斧”解題套路。 第1章和第2章由趙宇飛撰寫(xiě)。 第3章?介紹CTF比賽中的密碼學(xué)知識(shí)體系,以及常見(jiàn)密碼的加密過(guò)程和破解方法。其中,3.0節(jié)、3.1.0節(jié)至3.1.10節(jié)由趙宇飛撰寫(xiě),3.1.11節(jié)及之后的內(nèi)容由王宇撰寫(xiě)。 第4章?介紹Web滲透的基礎(chǔ)知識(shí)、常見(jiàn)漏洞類型和工具。該章由張翼鵬撰寫(xiě)。 第5章?講述軟件逆向工程的原理和常用工具,并提出了解決逆向問(wèn)題的原則性方法—逆向真經(jīng)。該章由趙宇飛撰寫(xiě)。 第6章?重點(diǎn)講解棧溢出原理、棧漏洞利用以及格式化字符串漏洞。 第7章?針對(duì)堆的結(jié)構(gòu)和漏洞利用方法展開(kāi)介紹,并介紹如何對(duì)二進(jìn)制程序打補(bǔ)丁。 第6章和第7章由王宇撰寫(xiě)。 第8章?介紹工業(yè)控制系統(tǒng)的基礎(chǔ)概念、梯形圖和指令表等PLC編程語(yǔ)言基礎(chǔ)知識(shí)、常見(jiàn)工業(yè)控制通信協(xié)議以及PLC漏洞利用。該章由楊立群撰寫(xiě)。 本書(shū)的出版離不開(kāi)許多朋友的大力幫助,他們是翟優(yōu)、董浩、梁明月、邢浩、原銘、謝子鳴、楊琛、簡(jiǎn)容和羅杰,在這里向他們表示衷心感謝。 由于作者水平有限,書(shū)中的錯(cuò)誤在所難免,懇請(qǐng)各位讀者批評(píng)指正。 接下來(lái),沿用我國(guó)傳統(tǒng)戲曲中的表演程序,以兩首定場(chǎng)詩(shī)開(kāi)啟我們的CTF之旅!這兩首詩(shī)蘊(yùn)含了CTF學(xué)習(xí)方法的要義,希望各位讀者在學(xué)習(xí)過(guò)程中仔細(xì)體會(huì)。祝大家閱讀 愉快! 四?v橫先筑基, 三千世界任翱翔
前言
第0章 開(kāi)啟CTF之旅 1 0.0 CTF比賽的歷史 1 0.1 CTF比賽的常見(jiàn)賽制 1 0.2 國(guó)內(nèi)外知名的CTF比賽 3 0.3 國(guó)內(nèi)外知名的CTF戰(zhàn)隊(duì) 4 0.4 學(xué)習(xí)前的實(shí)驗(yàn)環(huán)境準(zhǔn)備 7 0.4.0 虛擬機(jī)運(yùn)行軟件 7 0.4.1 搭建Python腳本運(yùn)行環(huán)境 9 0.4.2 搭建Docker使用環(huán)境 11 第1章 安全雜項(xiàng) 12 1.0 安全雜項(xiàng)類賽題簡(jiǎn)介 12 1.1 常見(jiàn)的編碼與解碼 13 1.1.0 ASCII編碼 13 1.1.1 Base64編碼 15 1.1.2 Base32編碼 18 1.1.3 Base16編碼 19 1.1.4 其他Base系列編碼 19 1.1.5 Shellcode編碼 21 1.1.6 Quoted-printable編碼 22 1.1.7 UUencode編碼 22 1.1.8 XXencode編碼 23 1.1.9 URL編碼 24 1.1.10 摩斯碼 24 1.1.11 JSFuck編碼 25 1.1.12 Brainfuck編碼 26 1.1.13 編碼類題目的通用解題方法 28 1.2 網(wǎng)絡(luò)流量分析 30 1.2.0 網(wǎng)絡(luò)協(xié)議的基礎(chǔ)知識(shí) 31 1.2.1 Wireshark的基本使用方法 33 1.2.2 CTF流量分析的通用方法 42 1.2.3 ICMP 44 1.2.4 Telnet 45 1.2.5 FTP 47 1.2.6 DNS 48 1.2.7 HTTP 50 1.2.8 USB 59 1.2.9 TLS 60 1.2.10 IEEE 802.11 62 1.3 日志分析 65 1.3.0 Web日志及分析方法 65 1.3.1 系統(tǒng)設(shè)備日志及分析方法 70 1.4 電子取證分析 75 1.4.0 電子取證的常用技術(shù) 75 1.4.1 文件恢復(fù) 77 1.4.2 磁盤(pán)取證分析方法 79 1.4.3 內(nèi)存取證分析方法 81 1.5 壓縮文件格式與破解 84 1.5.0 ZIP壓縮包格式 84 1.5.1 偽加密 87 1.5.2 壓縮包密碼爆破 89 1.5.3 CRC碰撞破解壓縮包 91 1.5.4 已知明文攻擊 93 1.6 信息搜集與搜索引擎的高級(jí)用法 95 1.6.0 信息搜集方法 95 1.6.1 搜索引擎的高級(jí)用法 97 第2章 安全雜項(xiàng)——隱寫(xiě)術(shù)專題 99 2.0 隱寫(xiě)術(shù)簡(jiǎn)介 99 2.1 圖像隱寫(xiě)方法及信息提取 100 2.1.0 常見(jiàn)的圖像隱寫(xiě)方法 101 2.1.1 PNG文件格式及隱寫(xiě)方法 102 2.1.2 JPG文件格式及隱寫(xiě)方法 106 2.1.3 GIF文件格式及隱寫(xiě)方法 110 2.1.4 圖像隱寫(xiě)三板斧 115 2.1.5 圖像隱寫(xiě)三板斧2.0 124 2.1.6 圖像和像素值的轉(zhuǎn)換 133 2.2 音頻隱寫(xiě)方法及信息提取 135 2.2.0 常見(jiàn)的音頻文件格式解析 135 2.2.1 基于波形圖的隱寫(xiě) 137 2.2.2 基于頻譜圖的隱寫(xiě) 138 2.2.3 音頻LSB隱寫(xiě) 139 2.2.4 MP3文件隱寫(xiě) 141 2.2.5 撥號(hào)音識(shí)別 144 2.2.6 音頻隱寫(xiě)總結(jié) 146 2.3 視頻隱寫(xiě)方法及信息提取 147 2.4 文本隱寫(xiě)方法及信息提取 148 2.4.0 基于文本內(nèi)容的隱寫(xiě) 149 2.4.1 基于Word文檔的隱寫(xiě) 149 2.4.2 基于PDF文檔的隱寫(xiě) 151 2.5 二維碼 155 2.5.0 QR碼的基礎(chǔ)知識(shí)和常用工具 156 2.5.1 QR碼畫(huà)圖 158 2.5.2 QR碼修復(fù) 159 第3章 密碼學(xué)基礎(chǔ) 161 3.0 密碼學(xué)簡(jiǎn)介 161 3.1 古典密碼 165 3.1.0 柵欄密碼 165 3.1.1 凱撒密碼 169 3.1.2 ROT位移密碼 170 3.1.3 Atbash密碼 172 3.1.4 豬圈密碼 172 3.1.5 培根密碼 173 3.1.6 簡(jiǎn)單替換密碼 175 3.1.7 仿射密碼 177 3.1.8 單表代換密碼總結(jié) 178 3.1.9 多表代換密碼 179 3.1.10 維吉尼亞密碼 179 3.1.11 希爾密碼 184 3.2 對(duì)稱密碼 185 3.2.0 對(duì)稱密碼的基本模型 185 3.2.1 流密碼和分組密碼的本質(zhì)區(qū)別 186 3.2.2 xor密碼 186 3.2.3 RC4 190 3.2.4 Feistel密碼結(jié)構(gòu) 191 3.2.5 DES 194 3.2.6 AES 195 3.2.7 填充 196 3.2.8 分組模式 197 3.3 非對(duì)稱密碼 206 3.3.0 RSA基礎(chǔ) 206 3.3.1 模數(shù)N相關(guān)攻擊 208 3.3.2 指數(shù)e相關(guān)攻擊 212 3.3.3 私鑰d相關(guān)攻擊 214 3.3.4 廣播攻擊 215 3.3.5 ECC基礎(chǔ) 217 3.3.6 ECC加密 218 3.3.7 Pohlig_Hellman攻擊 219 3.3.8 Smarts攻擊 220 3.4 哈希函數(shù) 221 3.4.0 哈希函數(shù)的基本模型 221 3.4.1 MD5 222 3.4.2 哈希長(zhǎng)度擴(kuò)展攻擊 223 第4章 Web滲透基礎(chǔ) 228 4.0 引言 228 4.0.0 概述 228 4.0.1 HTTP理論基礎(chǔ) 229 4.0.2 環(huán)境搭建與工具使用 234 4.1 Web信息收集的技巧 241 4.1.0 端口掃描 241 4.1.1 目錄探測(cè) 247 4.1.2 指紋識(shí)別 255 4.2 暴力破解 258 4.2.0 用戶名/密碼爆破 258 4.2.1 參數(shù)爆破 264 4.2.2 密鑰爆破 268 4.2.3 隨機(jī)數(shù)爆破 271 4.2.4 字典 275 4.3 PHP弱類型 277 4.3.0 PHP代碼基礎(chǔ) 277 4.3.1 PHP弱類型問(wèn)題 280 4.4 上傳漏洞 283 4.4.0 前端JavaScript繞過(guò) 287 4.4.1 MIME-Type繞過(guò) 288 4.4.2 黑名單繞過(guò) 288 4.4.3 .htaccess繞過(guò) 289 4.4.4 后綴名繞過(guò) 290 4.4.5 圖片馬 291 4.4.6 其他類型的問(wèn)題 296 4.5 SQL注入漏洞 297 4.5.0 SQL注入 297 4.5.1 SQL注入漏洞的分類 300 4.5.2 SQL注入漏洞實(shí)戰(zhàn) 301 4.5.3 SQLmap 307 4.5.4 寬字節(jié)注入 309 4.5.5 WAF繞過(guò) 310 4.5.6 利用SQL注入讀寫(xiě)文件 313 4.5.7 報(bào)錯(cuò)注入 314 4.6 文件包含 317 4.6.0 php://filter進(jìn)階 321 4.6.1 文件包含的分類 322 4.6.2 文件包含中的截?cái)嗪蚿har:// 322 4.7 命令執(zhí)行 324 4.7.0 危險(xiǎn)函數(shù) 332 4.7.1 無(wú)參數(shù)RCE 333 4.8 CSRF與XSS 338 4.8.0 CSRF 338 4.8.1 CSRF防御 340 4.8.2 XSS 341 4.9 SSRF 344 第5章 軟件逆向工程 347 5.0 軟件逆向工程簡(jiǎn)介 347 5.0.0 軟件是怎么生成的 347 5.0.1 軟件逆向工程的定義及目標(biāo) 349 5.0.2 軟件逆向工程的發(fā)展歷史 349 5.1 CTF軟件逆向工程入門(mén) 350 5.1.0 逆向題目的特點(diǎn) 350 5.1.1 逆向真經(jīng) 351 5.2 靜態(tài)分析方法 352 5.2.0 靜態(tài)分析的原理和技巧 352 5.2.1 靜態(tài)分析的常用工具 355 5.2.2 靜態(tài)分析實(shí)戰(zhàn) 359 5.3 動(dòng)態(tài)分析方法 383 5.3.0 動(dòng)態(tài)調(diào)試的技巧 383 5.3.1 匯編 384 5.3.2 使用OllyDbg進(jìn)行動(dòng)態(tài)調(diào)試 392 5.3.3 使用GDB進(jìn)行動(dòng)態(tài)調(diào)試 399 5.3.4 使用IDA進(jìn)行本地動(dòng)態(tài)調(diào)試 403 5.3.5 使用IDA進(jìn)行遠(yuǎn)程動(dòng)態(tài)調(diào)試 407 第6章 進(jìn)入 PWN 的世界 410 6.0 PWN簡(jiǎn)介 410 6.1 CTF中的PWN 410 6.2 棧溢出入門(mén) 414 6.2.0 認(rèn)識(shí)棧結(jié)構(gòu) 415 6.2.1 函數(shù)調(diào)用過(guò)程分析 415 6.2.2 Linux操作系統(tǒng)的基本保護(hù) ?機(jī)制 418 6.2.3 覆蓋返回地址 419 6.2.4 覆蓋返回地址到Shellcode 421 6.2.5 編寫(xiě)單個(gè)函數(shù)的ROP鏈 423 6.2.6 編寫(xiě)兩個(gè)函數(shù)的ROP鏈 427 6.2.7 編寫(xiě)多個(gè)函數(shù)的ROP鏈 431 6.2.8 ret2syscall 433 6.2.9 用動(dòng)態(tài)鏈接動(dòng)態(tài)泄露system ?地址并利用 437 6.2.10 64位程序的棧溢出 442 6.2.11 未知遠(yuǎn)程libc的解法 443 6.3 格式化字符串 443 6.3.0 格式化字符串的原理 443 6.3.1 格式化字符串漏洞的利用 446 6.3.2 通過(guò)格式化字符串漏洞泄露 ?棧上內(nèi)容 447 6.3.3 通過(guò)格式化字符串漏洞泄露 ?任意地址內(nèi)存 448 6.3.4 通過(guò)格式化字符串漏洞覆蓋 ?任意地址內(nèi)存 450 6.3.5 64位格式化字符串 456 6.3.6 格式化字符串的綜合利用 456 6.4 棧溢出進(jìn)階技術(shù) 457 6.4.0 棧劫持 457 6.4.1 ropchain 463 6.4.2 Canary保護(hù)機(jī)制及其利用 ?方式 463 6.4.3 __libc_csu_init的利用方式 472 6.4.4 ret2_dl_runtime_resolve 474 6.5 棧溢出和格式化字符串總結(jié) 484 第7章 PWN進(jìn)階 485 7.0 堆管理器 485 7.0.0 ptmalloc堆管理器的基本功能 485 7.0.1 malloc和free簡(jiǎn)介 486 7.0.2 內(nèi)存分配背后的系統(tǒng)調(diào)用 487 7.1 堆相關(guān)的數(shù)據(jù)結(jié)構(gòu) 488 7.1.0 malloc_chunk 488 7.1.1 bin 490 7.1.2 fast bin 492 7.1.3 small bin 493 7.1.4 large bin 495 7.1.5 unsorted bin 496 7.1.6 bin 的總結(jié) 497 7.2 malloc的基本算法 497 7.2.0 __libc_malloc 497 7.2.1 fast bin分配算法 498 7.2.2 small bin分配算法 499 7.2.3 large bin分配算法1 500 7.2.4 unsorted bin分配算法 501 7.2.5 large bin分配算法2 503 7.2.6 尋找更大的bin鏈 504 7.2.7 使用top chunk 505 7.2.8 總結(jié) 506 7.3 free函數(shù)的基本算法 506 7.4 堆利用的基本方法 507 7.4.0 House of Prime 507 7.4.1 House of Lore 508 7.4.2 House of Spirit 509 7.4.3 House of Force 512 7.4.4 House of系列方法總結(jié) 514 7.5 鏈表攻擊 514 7.5.0 unlink 514 7.5.1 fast bin 攻擊 520 7.5.2 unsorted bin 攻擊 524 7.6 其他漏洞形式及其利用 526 7.6.0 off by one 527 7.6.1 off by null 530 7.6.2 fast bin 三重釋放攻擊 533 7.7 例題講解 536 7.8 tcache機(jī)制及其利用方式 542 7.8.0 tcache的重要數(shù)據(jù)結(jié)構(gòu)與 ?源碼解讀 542 7.8.1 tcache dup(glibc 2.27) 5
你還可能感興趣
我要評(píng)論
|