[長期]CTF相關書籍以及個人簡評
0x0 前言
信息安全是一場道高一尺魔高一丈的戰爭。——我說的
目前國內CTF相關的書籍可以說是比較匱乏的,網路上相關信息也相對散亂,缺乏條理性,這裡就專門長期做一個書單,希望對新人能有所幫助。
本文僅針對我看過或者正在看的書進行簡評,有些書的確很好很權威,等我看完的時候自然會寫進來。
最後一次更新 2018.1.8
更新記錄:
終於看完了計網,不得不說計網還是很休閑的,接下來會回到主線了。
0x1 《彙編語言》(王爽著)
簡評
這本書真正詮釋了什麼叫「深入淺出」和「循序漸進」,原本枯燥無聊的彙編在王爽老師筆下變得生動有趣。本書語言循循善誘,凡是你想到的疑問都會在合適的地方得到解答,而且還有官方討論區,初學者幾乎不會怎麼吃力就能輕鬆學完。當時我讀完這本書有一種茅塞頓開的感覺。
優點
- 循序漸進,深入淺出。
- 有官方討論區。
- 例子非常有趣、深刻。
缺點
- 教授的是16位彙編,過時太多了。
- 在XP下才能較輕鬆的完成環境配置,XP以上的系統配置比較麻煩。
- 沒有提到16位彙編和32位彙編的關係,可能會造成定勢思維影響學習32位彙編。
0x2 《Intel彙編語言程序設計(第五版)》(Kip Irvine著)
簡評
這本書講的是32位Intel彙編,整體上非常詳細,在教授基礎的同時也教授了如何應用彙編編寫程序,對16位DOS程序和32位GUI程序都有所提及,涉獵範圍非常廣,屬於教科書級。
優點
- 非常詳細,尤其是後面附了一個指令手冊,可以當工具書用。
- 內容基本和時代接軌,過時的內容較少。
- 官方網站上有詳細的環境搭建教程,一直可以支持到VS2017。
缺點
- 中文書絕版啦,英文新版也沒有翻譯。
- 整體語言比較枯燥,還有少量翻譯錯誤。
0x3 《有趣的二進位》(愛甲健二著)
簡介
這本書所講授的知識非常淺,基本不需要什麼基礎就能看懂,本身書也非常薄,算是一本還算不錯的入門書。
優點
- 很容易看懂。
- 也很快可以翻完。
缺點
- 知識太淺了,有時候讓人摸不到頭腦。
- 翻譯的不是很好,部分地方讀起來比較僵硬。
0x4 《逆向工程核心原理》(李承遠著)
簡介
這本書正如其字面意思,講了逆向工程的一些核心知識,這就導致其雖然涉獵的知識很多,但是很多都沒有細講。整體採用「例子+代碼」的形式,先讓你運行例子看到結果,然後根據結果來分析代碼,效果還算不錯。
優點
- 門檻比較低,整體循序漸進。
- 例子和代碼講解配合的非常好。
- 涉及的知識非常寬,可以當工具書用。
缺點
- 很多細節沒有提,導致會產生很多疑問。
- 有些地方比較啰嗦,反覆強調。
- 很多例子在最新的Windows上已經不能完全達到書中的效果。
0x5 《XSS跨站腳本攻擊剖析與防禦》(邱永華著)
簡評
這本書正如其前言中提到,是在「國內還沒有一本專門講述XSS技術的書籍」下編寫出版,可以說是XSS這個領域目前少有的可以參考的書之一。書整體圍繞「XSS的危害遠比人們想像的嚴重」展開,從多方面展示了XSS是如何工作的以及防禦的措施。
優點
- 非常全面。
- 例子非常生動。
缺點
- 內容略顯單薄,細節還不夠。
- 缺乏一定的條理,過於注重實戰。
- 在Web高速發展的今天,內容略有脫軌。
0x6《深入理解計算機系統(第三版)》(Randal E.Bryant / David OHallaron著)
簡介
(寫這本書的簡介我心情是有點複雜的,因為我真的不知道從何講起。)
相信任何一個讀過CSAPP的人都能感受到知識的厚重感。——還是我說的
計算機如何運行?硬體和軟體的關係是怎麼樣的?數據如何儲存?系統究竟是什麼?我寫的代碼最終如何被執行?正如標題中的「深入」一詞,讀完這本書,原來淺層而模糊的認知,順著歷史的線索,一點點明朗起來。
優點
- 權威、全面、標準。
- 能結合技術出現的歷史講解,非常滿足好奇心。
- 完全基於Linux和x86_64平台。
缺點
- 第三版翻譯還是有點錯誤,<del>不過無傷大雅。</del>,很傷大雅,有的習題答案明顯錯了。
0x7 《加密與解密(第三版)》(段鋼 著)
簡介
一些軟體開發人員對軟體保護方案的策劃與實施很不以為然,他們往往自以為是的保護在解密者眼前不堪一擊。——解密篇篇頭
這本書從「加密」與「解密」兩個方面切入,比較系統性的講解了軟體攻防的相關知識,但是這本書並不是一昧的紙上談兵,而是通過各種實戰不斷加深讀者的認知,同時也讓讀者感受到逆向分析的樂趣。雖然整體上這本書做到了循序漸進,但是對讀者的基礎有一定要求。
優點
- 幾乎完全基於實戰,理解深刻。
- 看雪論壇有專門板塊可以討論。
- 講解了很多工具的使用方法。
- 非常全面,可以當作工具書用。
缺點
- 入手難度比較高(我是學校圖書館的實體書XD)。
- 不同章節不同人編寫,銜接上略有不足,不過無傷大雅。
- 過於注重實戰,有些地方原理部分講的有點簡略。
- 對讀者基礎有一定要求(C編程基礎+一定Win32編程基礎)。
- 缺少x64相關的內容。
0x8 《SQL注入攻擊與防禦(第二版)》(Justin Clarke著)
簡介
這本書全面系統的介紹了SQL注入,包含了很多經典的注入方法和技巧,同時也在如何防禦SQL方面進行了非常詳細的介紹,可以說無論是對正向開發還是逆向工程都是極有幫助的。但是內容組織問題也是其致命缺點。
優點
- 全面,系統介紹SQL注入。
- 能結合不同資料庫和不同的漏洞具體分析。
缺點
- 內容組織混亂,內容前後存在重複。
- 章節設計不合理,個人覺得可以直接從第四章開始閱讀。
- 翻譯質量不高。
0x9 《計算機網路(第七版)》(謝希仁 著)
簡介
本書的特點是概念準確、論述嚴謹、內容新穎、圖文並茂,突出基本原理和基本概念的闡述,同時力圖反映計算機網路的一些最新發展。本書可供電氣信息類和計算機類專業的大學本科生和研究生使用,對從事計算機網路工作的工程技術人員也有參考價值。
(摘自豆瓣)
優點
- 深入淺出,能分解複雜的概念,以合理的順序引入。
- 在相應的地方都標出了對應的互聯網協議,清晰明了。
缺點
- 對於部分複雜的協議限於篇幅只能講少講或者不講。
- ipv6相關知識較少。
0xA 正在讀/馬上要評的書
- IDA Pro權威指南
- 0day安全
- Windows內核安全與驅動開發
- Web安全深度剖析
- Android軟體安全和逆向分析
- 圖解密碼技術
歡迎各位CTF選手能在評論中留下你認為值得一讀的書籍,大家一同進步唄~
推薦閱讀:
※NO.12 最近跟AppScan幹上了
※CC攻擊為什麼需要代理伺服器?為什麼不用客戶端直接發起攻擊?
※Popcorn Time(爆米花時刻):第一個不收贖金的勒索軟體
※大俠方興之重出江湖|新銳
※利用SCOM捕獲創建可疑進程的事件
TAG:CTFCaptureTheFlag | 逆向工程 | 信息安全 |