Pikachu靶场——URL 重定向

文章目录

  • 1. URL 重定向
    • 1.1 源代码分析
    • 1.2 漏洞防御

1. URL 重定向

不安全的url跳转

不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。

如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话
就可能发生"跳错对象"的问题。

也就是说不安全的URL跳转漏洞是指在Web应用程序中存在未经验证的用户输入作为跳转目标URL的情况。攻击者可以利用这个漏洞,将用户重定向到恶意网站或执行其他恶意操作。

依次点击页面中的链接地址

Pikachu靶场——URL 重定向_第1张图片

在点击第4个的时候发现路径发生变化

Pikachu靶场——URL 重定向_第2张图片

我们可以将url的值修改为百度的链接地址进行尝试

Pikachu靶场——URL 重定向_第3张图片

发现跳转成功

Pikachu靶场——URL 重定向_第4张图片

1.1 源代码分析

修改前,当url参数的值不为 i 时,就会跳转到 url 值表示的页面。

Pikachu靶场——URL 重定向_第5张图片

1.2 漏洞防御

修改后,如果url的值为unsafere.php,则跳转到unsafere.php,如果url的值不为i,也不为unsafere.php,则留在当前页面,并显示提示信息。

Pikachu靶场——URL 重定向_第6张图片

页面显示结果如下:

Pikachu靶场——URL 重定向_第7张图片

防范URL重定向漏洞的方法:

  1. 对用户输入进行合法性验证:对于所有接收用户输入的参数,都需要进行合法性验证。验证方式包括检测是否为合法的URL、检测是否为域名白名单之内等。

  2. 避免使用直接的URL重定向:应避免直接使用输入参数中提供的URL地址进行重定向,可以使用一个中间转换链接(例如使用本站跳转)对URL进行重定向。

  3. 使用白名单过滤:维护白名单限制允许进行重定向的URL地址,可以有效限制攻击者可利用的重定向地址。

  4. 采用固定的重定向URL:在编写代码时,设置一个固定的重定向URL地址,或者设置一个预定义的URL地址参数,避免通过用户输入URL地址的形式来触发重定向操作。

  5. 限制重定向次数:设置最大重定向次数,如果超过预设值就结束重定向。这可以避免攻击者构造类似蜜罐攻击的链接,不断跳转用户浏览器,造成用户浏览器崩溃。

  6. 带有安全标志的重定向:使用安全标志,例如在URL中使用SSL证书或者添加额外的参数来传递当前会话信息等方式,可以增加重定向的安全性。

你可能感兴趣的:(Pikachu,网络安全,系统安全,安全,pikachu,靶场,URL重定向)