2016-05-19 6 views
0

セキュリティスキャンで外部リダイレクトが発生しました。サイトのセキュリティスキャンから外部リダイレクト攻撃を解決する方法

私はそれがコード内でこの行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のマッピングを作成するのですか?

OWASP ZAP REPORT

+1

POST経由で取得しているURLにリダイレクトするのは良い考えではありません。可能であれば、ビジネスロジックを変更することもできます。さらに、少なくともPOST入力をサニタイズし、条件付きリダイレクト(ドメイン名があなたのものかそうであればリダイレクト)を行うように関数を変更することもできます。 – Maximus2012

+0

リダイレクトURLがPOST入力から完全に生成されるのではなく、POST値に基づいてURLの一部を生成できます。 '$ yoursite?val = '。$ _ POST [' some_input ']。' ' – Maximus2012

+1

セキュリティスキャンソフトウェアとは何ですか?レポートから関連する出力を提供してください。私が知っている限り、PHPではなくXSSを指している可能性があります。 –

答えて

0

私は、URLの代わりに、直接ポストデータを使用するために、URLマッピングに秘密ポストデータを変更しました。それは問題を解決しました。私はOWASPはURLが何であるか気にしないと思います。あなたがポストから直接リダイレクトしたように見える限り、それは安全でないと考えます。

関連する問題