GRADUATION
試食おわりです。Webの壊れ方を、3つ体で触りました。
DOM XSS・JWTデコード・クライアント任せの権限。どれも隔離サンドボックスの中の架空データでしたが、「入力を信じると何が起きるか」「トークンは暗号化ではない」「クライアントの判定は守りにならない」を、読むのではなく手で確かめました。
おつかれさまでした。
持ち帰るもの
- 入力は信じないinnerHTML に入力を渡すと、それはコードとして動きます。textContent との違いを、発火する枠で見ました。
- 見えるものは秘密ではないJWT は鍵なしで誰でも中身を読めます。署名は改ざん検知であって秘匿ではありません。
- 守りはサーバ側に置く「隠す」「無効化する」はブラウザの中では突破されます。本当の権限チェックはサーバ側にしかありません。
次にやるといいこと
- この試食はクライアント側で完結する脆弱性だけを扱いました。サーバ側の本質的な穴(反射XSS・IDOR・インジェクション)は、自分の127.0.0.1で動く自作ターゲットを攻撃→修正→再検証する「Webセキュリティの土台(旗艦)」で本物を触ります。
- その前に、HTTPを手で組み立てる「HTTPを手で話す」と、プロキシを立てる「Burp Suite 最初の一歩」で診断の道具を整えます。
- もし法と倫理の第0章をまだ通していなければ、先に「セキュリティの法と倫理」を。すべての実習の入口です。