如何解决外部重定向攻击 - 来自网站上的安全扫描

时间:2016-05-19 16:17:07

标签: php security redirect header

所以安全扫描抱怨外部重定向。

我认为这是代码中的这一行:   header('location:'.$_POST['some_input']); 它是用于某些内部页面跳转,但可能被外部URL滥用。
我已将其包含在重定向函数中, 基本上它会添加我们的网址基础

define('BASE_URL','https://example.com/');
function redirect($url)
{
    header('location:'.BASE_URL.$url)
}

然后上面的代码变成$this->redirect($_POST['some_input'])

我以这种方式想到,即使攻击者使用$ _POST [' some_input'] =' attackersite.com',它也会重定向到错误的网址。

但是当我再次进行扫描时,外部重定向就完全相同了。 它是否仍然不安全或扫描软件只是在他们认为您正在进行重定向时并不关心?如果这是解决它的唯一方法是创建重定向URL的映射?

OWASP ZAP REPORT

1 个答案:

答案 0 :(得分:0)

我改为url映射,将post post数据隐藏到url而不是直接使用post数据。它解决了这个问题。我认为OWASP并不关心URL是什么。只要看起来你直接从帖子重定向就认为它不安全。