オープンリダイレクト
なぜ危険か
攻撃者は信頼されたドメインのリンクを送り、訪問者をフィッシングページへ飛ばします。
header('Location: ' . $_GET['next']);
$next = $_GET['next'] ?? '/';
if (!str_starts_with($next, '/') || str_starts_with($next, '//')) {
$next = '/';
}
header('Location: ' . $next);
対策
自サイトのパスか許可リストのURLにだけリダイレクトしましょう。
コードを検査する
コードを検査する →
ファイルを貼り付けると、このルールに該当する行をすべて示します。