セキュリティスキャンで外部リダイレクトが発生しました。サイトのセキュリティスキャンから外部リダイレクト攻撃を解決する方法
私はそれがコード内でこの行bcのだったと思う: header('location:'.$_POST['some_input']);
それはいくつかの内部ページジャンプのためのものだったが、外部URLによって悪用される可能性があります。私はこのように考え$this->redirect($_POST['some_input'])
私は、リダイレクト機能の中で、 は、基本的には
define('BASE_URL','https://example.com/');
function redirect($url)
{
header('location:'.BASE_URL.$url)
}
はその後上記のコードになることに私達のURLベースを追加することも、攻撃者のmake $をラップしています_POST ['some_input'] = 'attackersite.com'は、悪いURLにリダイレクトされます。
しかし、私が再びスキャンをしたとき、それはまったく同じです。外部リダイレクトは不満です。 リダイレクトを行っていると思っている限り、それでも安全ではないのですか、スキャンソフトウェアは気にしませんか?それが解決する唯一の方法であれば、リダイレクトURLのマッピングを作成するのですか?
POST経由で取得しているURLにリダイレクトするのは良い考えではありません。可能であれば、ビジネスロジックを変更することもできます。さらに、少なくともPOST入力をサニタイズし、条件付きリダイレクト(ドメイン名があなたのものかそうであればリダイレクト)を行うように関数を変更することもできます。 – Maximus2012
リダイレクトURLがPOST入力から完全に生成されるのではなく、POST値に基づいてURLの一部を生成できます。 '$ yoursite?val = '。$ _ POST [' some_input ']。' ' – Maximus2012
セキュリティスキャンソフトウェアとは何ですか?レポートから関連する出力を提供してください。私が知っている限り、PHPではなくXSSを指している可能性があります。 –