[長期]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 | 逆向工程 | 信息安全 |