情報セキュリティ技術を競うコンテスト:CTF(Capture the Flag)について技術的な背景の解説を通し実践的に学んでいく一冊です。現代CTFにおいて主流である4ジャンルを解説します。
・Web(Webアプリケーションへの攻撃)
・Crypto(暗号解読)
・Reversing(バイナリ解析)
・Pwnable(低級プログラムの掌握)
各Part冒頭には必要な基礎知識の説明を用意、幅広くかつ丁寧に解説しますので現代CTFの傾向が理解できるとともに、競技を楽しむための足腰を鍛えることができます。
「問題をどのような目線で分析するか」「どのような時に、どの解法を検討するか」といった問題と向き合う際の思考法への言及にも注目してみてください。
情報セキュリティの技を磨く足掛かりに。
CTFに臨むための技術を理論と実践で身に付けよう
Part 1 準備
1章 CTF入門
2章 実習環境の準備
3章 問題環境の構築
4章 Python入門
Part 2 Web
5章 WebセキュリティとCTF
6章 Webの基礎知識
7章 ディレクトリトラバーサル
8章 XSS
9章 SQLインジェクション
10章 SSTI
11章 SSRF
12章 XXE
Part 3 Crypto
13章 暗号について
14章 環境構築
15章 ハッシュ関数
16章 共通鍵暗号
17章 初等整数論
18章 RSA暗号
19章 ElGamal暗号
20章 その他の公開鍵暗号
21章 乱数
22章 練習問題
Part 4 Reversing
23章 Reversingを始める前に
24章 アセンブリ言語
25章 アセンブリを読んでみよう
26章 静的解析に触れてみよう
27章 動的解析を組み合わせよう
28章 より発展的な話題
29章 実践問題の解答
Part 5 Pwnable
30章 導入
31章 シェルコード
32章 スタックベースエクスプロイト
33章 共有ライブラリと関数呼び出し
34章 ヒープベースエクスプロイト
35章 仕様に起因する脆弱性
36章 実践問題の解法
付録A ASCIIコード
付録B Linuxシステムコール(x86_64)
付録C 主要な定数値一覧