身份验证漏洞-基于密码的登录漏洞(高级)

admin 2022年6月9日09:35:47评论132 views字数 1403阅读4分40秒阅读模式

在学习本章前,建议先对前序章节进行了解,传送门如下:

身份验证漏洞-基于密码的登录漏洞(上)

身份验证漏洞-基于密码的登录漏洞(中)

身份验证漏洞-基于密码的登录漏洞(下)

本章节结合靶场试验来仔细研究基于密码的登录机制中不太常见的防护方式及攻击手段。

 


HTTP基本认证

这种方式虽然相当古老,但是其相对简单和易于实现,目前还有很多应用会使用这种HTTP基本身份验证。

HTTP基本身份验证中,客户端从服务器接收到一个身份验证令牌,该令牌由用户名和密码连接起来,并使用Base64进行编码。这个令牌由浏览器存储和管理,浏览器会自动将其添加到每个后续请求的Authorization标头中,如下所示:

身份验证漏洞-基于密码的登录漏洞(高级)

由于多种原因,这通常不被认为是一种安全的身份验证方法。

首先,它涉及在每个请求中重复发送用户的登录凭据,除非该网站还是实施HSTS,否则用户凭据很容易被中间人捕获。

此外,HTTP基本身份验证通常不支持暴力保护,由于令牌完全由静态值组成,这可能使其容易受到暴力破解。

HTTP基本身份验证也特别容易受到与会话相关的攻击,特别是CSRF,它本身无法提供任何保护。

在某些情况下,利用易受攻击的HTTP基本身份验证可能只会授予攻击者访问到看似无意义页面的权限。但是除了提供进一步攻击面外,以这种方式公开的凭据可能会在其他更机密的环境中重复使用。

 


用户速率限制

网站试图防止暴力攻击的另一种方法是通过用户速率限制。在这种情况下,短时间内发出过多的登录请求会导致IP地址被阻止。通常,只能通过以下方式才能解锁IP

●经过一定时间后自动解除

●由管理员手动解除

●成功完成验证码后由用户手动解除

由于不太容易受到用户名枚举和拒绝服务攻击,用户速率限制有时优于账户锁定。但是它仍然不是完全安全的,攻击者可以通过多种方式来绕过防护。

由于这种限制基于从用户IP地址发送的HTTP请求的速率,因此如果能弄清楚如何通过单个请求猜测多少个密码,有时也可以绕过这种防御。

 

场景试验-每个请求多个凭据:

https://portswigger.net/web-security/authentication/password-based/lab-broken-brute-force-protection-multiple-credentials-per-request

场景说明:

这个场景由于防爆破的逻辑缺陷,容易受到暴力破解攻击。

试验目的:

要完成这个试验,暴力破解carlos的密码,然后登录访问他的账户页面。

攻击过程:

访问登录页面后用carlos账户登录下,发现这次登录信息是用JSON表单提交的,由于有对登录错误次数进行IP限制,因此只能尝试想办法通过改造JSON表单,将这个请求发送给Repeater

 

构造JSON表单,将密码字典的内容放进去,进行发送

"username": "carlos","password": ["123456","password","qwerty"...]

身份验证漏洞-基于密码的登录漏洞(高级)


 

响应包会返回302状态码,右键点击这个响应,选择Showresponse in browser,复制URL到浏览器进行打开

身份验证漏洞-基于密码的登录漏洞(高级)

 

通过浏览器访问后即可完成此试验。

 

试验小结:

这个场景关键是没有对JSON提交的表单进行格式查验,从而使攻击者可以利用这个缺陷对密码进行字典攻击并登录授权成功。

 

 

 


原文始发于微信公众号(H君网安白话):身份验证漏洞-基于密码的登录漏洞(高级)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月9日09:35:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   身份验证漏洞-基于密码的登录漏洞(高级)https://cn-sec.com/archives/1100250.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息