はまやんはまやんはまやん

hamayanhamayan's blog

CTFのWebセキュリティにおける細かな話題まとめ(Unicode, Reguler Expression, LDAP Injection, Dependency Confusion, DoS)

この記事はCTFのWebセキュリティ Advent Calendar 2021の25日目の記事です。

本まとめはWebセキュリティで共通して使えますが、セキュリティコンテスト(CTF)で使うためのまとめです。
悪用しないこと。勝手に普通のサーバで試行すると犯罪です。

脆弱性を利用する

  • 問題によっては脆弱性を突いた問題がある
    • 時事ネタが多い気がする。ゼロデイやワンデイという感じ
  • ソースコードが配布されていて、バージョンが固定されたライブラリを使っているなら怪しい

Dependency Confusion

DoS

  • セキュリティ的にも問題とされる。情報は抜かれないが、事業停止に追いやることができる。CTFではあまりテーマとして出題されない。
    • でも解法でDoSが思いついても、解法にかなり確信度が無い限りやらないことを勧める(もしかしたらサーバ壊すかも)
  • 何がDoSの原因となるか?
    • 再帰的な構造があるもの
    • 指数関数的に伸びる可能性があるもの
      • jsonのparseとか(深さが深いとバッファが食われる)
    • 受け付けるサイズの上限がない場合
    • 格安ホスティングにより、ほかの人がDoSを受けると影響を受ける
    • エラーを起こすような入力を与えることで、StoredXSSの要領でそのページを開くときに毎回エラーを発生させて、画面表示させないようにできる
  • 資料

Git系

SVGへの攻撃方法

ImageMagick

GraphicsMagick

SVG Writeups

Exif

LDAP

Reflected File Download

正規表現

ReDoS

Blind Regular Expression Injection Attack

聖典A Rough Idea of Blind Regular Expression Injection Attack – やっていく気持ち
聖典から聖典が生まれていた → Revisiting ReDoS: A Rough Idea of Data Exfiltration by ReDoS and Side-channel Techniques - Speaker Deck

  • これは何?
    • ReDoSによるレスポンス遅延をオラクルとしたサイドチャネル攻撃
    • 以下、想像(ちゃんと読んでない)
    • 正規表現にマッチしないと全探索をする必要があって、遅くなる
    • なので、「正規表現にマッチ→正解、マッチしない不正解」となるように正規表現を組み、応答時間を測ることで、情報を1文字ずつ抜き取る
  • 問題

Unicode

XPath Injection