詳解セキュリティコンテスト輪読会資料#10
範囲: p.226 - p.251 その他のツール手前まで
XXE
XXEがどういう条件で成立するかちょっと複雑なので整理する。
- ユーザ入力値がレスポンスに出力されない → Blind XXE
- 内部エラー出力がある → ファイルの内容を読み出せる(改行があっても可能)
- 内部エラー出力がなく、ネットワークアクセスが発生する → ファイルデータをURLに含めて外部ネットワークアクセスを発生させて、待ち受けたところでURLの一部として読み出す(改行があると厳しい、この辺りはプログラミング言語やXMLパーサの実装依存)
PHPの場合は特別で、色々できる(phpラッパーのfilter, expectラッパーの任意コード実行)
暗号
普通の暗号の教科書と比較してみる
- ゼロ知識証明の話題がない
- 安全性証明の話題がない(CTFなのでそれはそう)
- 最新の色々な話題がない(秘密分散、格子など) → 一部はCTFでも登場する
CTFではPyCryptodomeは言及なしに使用される。
おすすめ CryptoHack (僕はまだちょっとしか手をつけてない)