MBSDでWebアプリケーションスキャナの開発をしている寺田です。 前記事では正規表現でのURLのチェックについて書きました。今回はその続きでマルチバイト文字を使った攻撃について書きたいと思います。 前提条件 本記事で想定するのは、ブラウザからパラメータとして渡されて来るURLを、リダイレクトやリンク等のURLとして使うケースです。その中でも、以下のようにサブドメイン部分(★の部分)を可変にする状況を主に想定します。 https://★.example.jp/… 攻撃の目標は、異なるドメイン(evil)のURLを与えてチェックをすり抜けることです。前回の記事にも書きましたが、この状況は(半角英数等のサブドメインしか受け入れないような場合を除き)「/」「?」「#」「\」のいずれかをサブドメインに入れることで攻略できることが大半です。 今回はこれらの記号が全て使用できないように対策されているこ