詳解セキュリティコンテスト輪読会資料#10

範囲: p.226 - p.251 その他のツール手前まで

XXE

XXEがどういう条件で成立するかちょっと複雑なので整理する。

  • ユーザ入力値がレスポンスに出力されない → Blind XXE
    • 内部エラー出力がある → ファイルの内容を読み出せる(改行があっても可能)
    • 内部エラー出力がなく、ネットワークアクセスが発生する → ファイルデータをURLに含めて外部ネットワークアクセスを発生させて、待ち受けたところでURLの一部として読み出す(改行があると厳しい、この辺りはプログラミング言語やXMLパーサの実装依存)

PHPの場合は特別で、色々できる(phpラッパーのfilter, expectラッパーの任意コード実行)

暗号

普通の暗号の教科書と比較してみる

  • ゼロ知識証明の話題がない
  • 安全性証明の話題がない(CTFなのでそれはそう)
  • 最新の色々な話題がない(秘密分散、格子など) → 一部はCTFでも登場する

CTFではPyCryptodomeは言及なしに使用される。

おすすめ CryptoHack (僕はまだちょっとしか手をつけてない)