护卫你的第一道防线:登录界面渗透测试(七)

admin 2024年2月10日12:48:54评论9 views字数 2026阅读6分45秒阅读模式

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。

问题

   ———————

网络世界中充满了看不见的危险,而在所有的网络安全问题中,有一种隐蔽而常见的漏洞,它在你毫无察觉的情况下,可能会将你导入一个充满陷阱的恶意网站。这种漏洞,就是被称为URL跳转漏洞。它像一个隐身的导游,有可能在你毫不知情的情况下,把你领向一条误入歧途的道路。

关键点

  ———————

在本次的文章中,我们书接公众号上面几篇的文章,继续本次的渗透,本次我们讲述的方向为URL跳转漏洞

0x1 为什么存在(功能点)漏洞?

URL跳转漏洞的存在主要是因为一些应用程序没有对用户跳转的URL进行严格的验证和控制。当一个应用程序接受一个请求并将用户重定向到请求中提供的URL时,如果应用程序没有对这个URL进行适当的验证,就可能造成URL跳转漏洞。

这种漏洞经常出现在一些使用重定向功能的场景中,例如:登录页面、支付页面,以及一些需要重定向到其他页面的交互过程中。如果开发人员没有对跳转的URL进行适当的处理和验证,攻击者就有可能将用户重定向到恶意网站,从而利用用户的信任进行钓鱼攻击,或者利用跳转功能实施其他类型的网络攻击。

在实际生活中,往往产业规模越庞大的企业,越是重视这类漏洞,我们往往可以在大企业src平台的安全报告处置规则中看到相关规定

字节src安全报告处置规则:

https://q2a1fk6o03.feishu.cn/docx/XniodxZuOo2jhwx4oeKcatrSnQh

护卫你的第一道防线:登录界面渗透测试(七)

阿里src安全报告处置规则:

https://security.alibaba.com/announcement/announcement?spm=0.0.0.0.AHiv0y&id=219

护卫你的第一道防线:登录界面渗透测试(七)

0x2 通用检测方法(模板)

我们依照惯例,在进行分析前先准备过程中说明可能用到的工具
Burp Suite(在网安的道路上绝对绕不过的工具 ,yyds)
Dnslog平台(http://www.dnslog.cn/,它可以帮助你观测到是否跳转成功)
.............

思路总结

在工具准备好之后,我们对于漏洞测试的整体思路简单粗暴,如果这处功能能将用户重定向到恶意网站,那么他就是url跳转漏洞

绕过方法

既然我们之前说这个漏洞是因为开发人员没有对跳转的URL进行适当的处理和验证,攻击者就有可能将用户重定向到恶意网站,那么当有安全限制时,我们也可以进行一定程度的绕过。

1.使用特定子域名绕过

(payload:www.baidu.com.evil.com)

2.使用@绕过

(payload:http://[email protected]/)

3.参数形式绕过

(payload:?next=baidu.com&next=evil.com)

4.绕过对于.的检测

(payload:/?redir=evil%E3%80%82com)

 案例结合

    ——————————————

在上面对于此类漏洞总结出方法之后,我们下来结合一个个的案例进行分析,加深理解

0x1 案例

拦截到跳转数据包,我们查看数据包,发现reqUrl参数控制着要跳转的地址

护卫你的第一道防线:登录界面渗透测试(七)

我们修改reqUrl参数跳转的地址,将其修改至百度地址,发现一样能够跳转成功

护卫你的第一道防线:登录界面渗透测试(七)

0x2 绕过案例

我们拦截数据包,发现loginUrl为控制跳转地址的参数,而reqUrl为其跳转后的参数

护卫你的第一道防线:登录界面渗透测试(七)

于是我们仿照上面案例的方法修改loginUrl参数控制跳转地址到dnslog,但是发现响应码为200,并没有跳转

护卫你的第一道防线:登录界面渗透测试(七)

于是我们对跳转地址进行绕过,绕过对于白名单和.符号的限制加上%E3%80%82%40+原网站地址,将地址修改为:

https://sevtex.dnslog.cn%E3%80%82%40xxx.xxx.com

护卫你的第一道防线:登录界面渗透测试(七)

我们查看dnslog平台,发现已经跳转成功,生成了跳转记录

护卫你的第一道防线:登录界面渗透测试(七)

0x3 Last

漏洞修复建议(以下建议并不代表完整的安全措施,您还可以根据具体情况采取其他安全措施来提高系统的安全性):

  1. 验证URL:在重定向之前,验证并确保提供的URL是预期的、安全的,并且属于应用程序的域。避免接受并使用用户提供的URL,特别是那些没有进行过验证的URL。

  2. 使用白名单:将合法的跳转目标添加到白名单中,并在跳转前进行检查。如果跳转的URL不在白名单中,那么应阻止跳转。

  3. 避免使用用户的输入:如果可能的话,尽量避免使用用户的输入来构造URL。例如,可以使用应用程序内部的ID代替完整的URL,或者使用预设的路径和页面代替用户提供的URL。

  4. 使用相对路径:尽可能使用相对路径而不是绝对路径,这样可以减少被重定向到外部站点的可能性。

  5. 加密或签名URL:使用安全的方法对URL进行加密或签名,以防止被篡改。

欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。

护卫你的第一道防线:登录界面渗透测试(七)

原文始发于微信公众号(呼啦啦安全):护卫你的第一道防线:登录界面渗透测试(七)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月10日12:48:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   护卫你的第一道防线:登录界面渗透测试(七)https://cn-sec.com/archives/2209728.html

发表评论

匿名网友 填写信息