序
時間回到2017 年7 月。
隨著資訊安全的發展,CTF 競賽開始引人關注。這種有趣的競賽模式非常有助技術切磋和快速學習。在西安電信協會(XDSEC)學長的帶領下,當時的我已經接觸CTF 賽題有較長時間了。由於當時網路上還沒有比較完善和系統的資料,本著開放原始碼精神、自利利他的目的,我在GitHub 上創建了一個稱為"CTF-All-In-One" 的專案,並給了自己第1 個star。
此後,這個專案日漸完善,吸引和幫助了不少初學者,到現在已經收穫了超過2100 個star,在此向所有為技術分享與進步作出貢獻的CTF 出題人和專案貢獻者們致敬!
收到劉皎老師的約稿邀請是在2018 年10 月,那時我剛上大四。抱著試試看的心情,我驚喜、惶恐地接受了這項挑戰。接下來就是定目錄,交樣章,並在2019 年1 月簽訂了《約稿合約》。沒想到的是,寫作的道路竟如此艱難:每一章、每一節、每一個例子甚至每一個詞都要細斟慢酌,生怕誤人子弟。由於學業和工作上的事情較多,最初參與的兩個朋友相繼離開了,我本人也多次想放棄。就在這樣反反覆覆的狀態下,一直到2020 年7 月才完成初稿。經過幾輪艱苦的校稿,終於在2020 年10 月簽訂了《出版合約》,兩年時間就這樣一晃過去了。
現在再回頭看,本書寫作的過程基本就是一個「現學現賣」的過程。我一邊學習新知識,一邊不斷調整內容框架。在學習的路上,我曾遇到太多的分岔、踩過無數坑,正因為如此,我儘量把自己的經驗寫進書裡,讓讀者可以快速獲得關鍵技術、避免踩坑和重複工作。所以,與其稱它為一本書,倒不如說這是一座經過校對、打磨,並最終以書的形式呈現的 知識庫。當然,在此過程中,我也發現寫作是一種非常有效的訓練方式:很明顯,透過梳理基礎知識和想法,我不僅系統掌握了相關知識,也明確了想法,對從事相關工作大有裨益。
我們期待有更多人參與進來,拿出Web 篇、Reverse 篇、Crypto 篇等更好的作品,讓這個系列更配得上「權威」二字。資訊安全是一門有趣的學科,我為自己當初的選擇高興,也希望閱讀本書的你,同樣為自己的選擇而激動。作為一本針對初學者的書,讀者中一定有不少中學生。全國中學生網路安全競賽每年都在我的母校西安電子科技大學進行,迄今已是第三屆,頗具規模。在此歡迎各位小讀者報考母校的網路與資訊安全學院,這裡真的是一個很棒的地方!
本書的出版,要感謝我的大學室友劉晉,他早期的幫助讓這個項目得以成形;感謝騰訊的吳石老師,他的推薦讓本專案順利成書、惠及更多的人;感謝吳石老師和騰訊eee 戰隊的謝天憶、朱夢凡、馬會心和劉耕銘四位老師的建議與審校,讓本書的內容更上一層樓;感謝學弟槐和koocola,貢獻了本書第11 章的初稿;感謝湖北警官學院的談楚瑜和MXYLR,以及其他來自GitHub 的朋友的鼓勵和支持;感謝電子工業出版社的劉皎老師,她認真細緻的工作使本書得以高品質地呈現給讀者;感謝我的父母給了我選擇和發展的自由,讓我在人生道路上沒有後顧之憂;感謝那位不願透露姓名的朋友,遇見你曾是青春最美好的事!感謝你們!
楊超