Pwn 入門
Pwn 分野では、プログラムのバイナリ脆弱性を研究し、入力を構築してプログラムの実行フローを制御することで、最終的に標的の権限を取得したり Flag を読み出したりします。
コンテンツ制作中
このカテゴリの記事は現在整理中で、今後順次追加していきます。まずは以下のテーマから準備を始めるとよいでしょう:
- プログラムのメモリレイアウトと関数呼び出し規約
- スタックオーバーフローとリターンアドレスのハイジャック
- フォーマット文字列脆弱性
- ROP と ret2libc
- ヒープ脆弱性(UAF、Double Free、House of シリーズ)
- サンドボックスと seccomp 脱出
- pwntools とデバッグのコツ
学習のアドバイス
- まず C 言語と x86-64 アセンブリの基礎を身につけ、スタックフレームの構造を理解しましょう。
- gdb、pwndbg、checksec、IDA などのツールに慣れましょう。
- 最も簡単なスタックオーバーフローの問題から始め、Canary、NX、PIE、ASLR といった保護機構を徐々に追加していきましょう。