护卫你的第一道防线:登录框渗透测试(四)

admin 2024年2月15日14:56:10评论16 views字数 2018阅读6分43秒阅读模式

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

问题

   ———————

在渗透测试过程中,什么是最常见?最常见的莫过于登录框界面了,在每一个网络资产中,登录界面是最先面对所有用户的,也是网络安全防守阵线的第一道防线。那么在面对登录界面应该怎么做?

关键点

  ———————

在本次的文章中,对于登录界面的渗透,我们讲述的方法为任意用户登录

0x1 为什么存在任意用户登录漏洞?

1.认证机制缺陷如果网站或应用的用户认证机制设计不当,比如没有正确验证用户的密码或安全令牌,就可能产生任意用户登录漏洞。

2.会话管理不当如果系统的会话管理存在问题,如会话令牌可以被预测或者会话ID在用户之间可以被复用,攻击者可能利用这些缺陷伪造会话。

3.输入验证不充分如果系统未能正确验证输入的数据(比如用户名和密码),可能允许攻击者通过注入攻击或其他手段绕过正常的验证流程。

4.密码找回机制弱点一些系统的密码找回功能可能存在漏洞,比如通过安全问题重置密码,如果这些问题容易被猜到或者答案容易被找到,攻击者可以利用这一点获取用户账户的控制权。

5.服务器端代码漏洞后端代码的逻辑错误或者安全检查不足可能导致验证环节被绕过。

6.前端漏洞利用如客户端控制验证流程的JavaScript代码可以被篡改,导致验证过程被绕过。

7.第三方服务配置错误使用第三方身份验证服务(如OAuth)时,配置不当可能导致漏洞。

8.更新和维护不当如果系统的安全补丁没有及时更新,或者使用了已知存在漏洞的软件版本,也可能导致任意用户登录问题

0x2 检测方法

因为涉及的漏洞太多,所以写的比较多:

.............

1.了解目前掌握的checklist

知道用户登录,我们可能想到任意用户登录。有几种尝试方法

  1. 弱口令,可以查看这篇文章护卫你的第一道防线:登录界面渗透测试(三)

  2. 万能密码真实项目中从来没有碰见过),护卫你的第一道防线:登录框渗透测试(二)

  3. 修改响应包

2.补充checklist

往往看见别人能出漏洞,而我们不能出漏洞。究其原因就是我们的checklist比别人少在运用武器上,别人会用10中武器,我们只会3-4种当然比别人敲开大门的几率小

3.完善checklist

1.仔细观察数据包的响应,某个数据包通过请求userid参数响应包会把用户的token给泄露出来

2.在有wb第三方登录的情况下,要尝试下修改响应包的uuid,看看能不能绕过

3.有的时候在js里面,就凑巧能看见对于登录成功的鉴定逻辑

4.重置密码,通过重置任意用户的密码来达到,任意用户登录的目的。这个后续在重置密码(忘记密码)处详细整理

5.token被复用

 案例结合

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

针对以上checklist,我们对这些提供这些案列进行分析,加深理解

网上随便找的登录框

护卫你的第一道防线:登录框渗透测试(四)

0x1 通过userid来获取cookie

在找到一个账号密码成功登录后,发现某个数据包用userid的查询返回了cookie信息。于是就想到遍历userid,获取到全部用户的cookie,将cookie放到请求包中,可以用其他人的信息登录

护卫你的第一道防线:登录框渗透测试(四)

0x2 修改响应包

尝试一个账号密码进行登陆后,发现resultCode返回为1。尝试修改为0,成功绕过。相同的类似地方,还可以把false修改成success,404修改成200,Code修改成000000

护卫你的第一道防线:登录框渗透测试(四)

护卫你的第一道防线:登录框渗透测试(四)

护卫你的第一道防线:登录框渗透测试(四)

0x3 wb第三方登录

类似于这个登录,选择wb登录

护卫你的第一道防线:登录框渗透测试(四)

修改响应包的uid,就能以其他人的身份登录

护卫你的第一道防线:登录框渗透测试(四)

0x4 js从鉴权逻辑

图已找不到,文字描述,后续找到报告再补充。在登录功能的js中,鉴权逻辑写到了前端,有可能绕过

0x5 token复用

报告已找不到了,后续找到补充。

修复建议:

  • 对用户登录接口进行多重身份验证,如token令牌,,短信验证码,多个参数结合认证等方式。这样可以增加攻击者获取有效令牌的难度,也可以防止暴力力破解密码。

  • 严格校验客户端提交的用户登录请求,对应请求的用户身份和当前登录的用户身份进行服务端与客户端双向校验,判断是否有权登录用户。这样可以防止攻击者伪造或篡改请求数据。

  • 使用HTTPS协议传输身份验证和密码等敏感信息,防止数据被窃听或篡改。这样可以保证数据的安全性和完整性。

  • 对敏感信息的请求如修改密码、找回密码等要求用户输入验证码或者使用双重认证。这样可以防止攻击者利用已知的密码或者其他信息来来破解账户。

  • 对敏感信息的请求要限制在固定路径下,并且只给读写权限。这样可以防止攻击者上传或下载恶意文件。

  • 对敏感信息的请求要使用白名单过滤或者黑名单过滤来控制哪些参数或者哪些文件类型可以访问。这样可以防止攻击者利用特殊字符或者隐藏功能来绕过过滤规则。

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

护卫你的第一道防线:登录框渗透测试(四)

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

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

发表评论

匿名网友 填写信息