2

脆弱性について Acunetix を使用してコードをスキャンした後、次のスクリプトに問題がありました。

「ドメイン hit0yPI7kOCzl.bxss.me に対して HTTP 要求が開始されました。これは、このスクリプトが SSRF (サーバー サイド リクエスト フォージェリ) に対して脆弱であることを示しています。」

どうすればこれを防ぐことができますか?

<?php
$filename = strip_tags($_GET['url']);

if (substr($filename,0,4) !== 'http') {
    die("Need a valid URL...");
}

$ext = pathinfo($filename, PATHINFO_EXTENSION);


switch ($ext) {
    case "gif":
        header('Content-Type: image/gif');
        readfile($filename);
        break;
    case "png":
        header('Content-Type: image/png');
        readfile($filename);
        break;
    case "jpg":
    default:
        header('Content-Type: image/jpeg');
        readfile($filename);
        break;
}
?>
4

1 に答える 1