Burpsuite靶场----身份认证专题

身份认证专题

Burp Intruder模块

方法

其中里面的正则提取功能真的很强大很好用

Lab: Username enumeration via response timing

通过登录成功与否页面响应的时间不同来判断

  • 首先,尝试多次失败会被ban掉ip,这里我们可以构造XFF头来绕过,X-Forwarded-For: 3737
  • 其次,如果用户名无效,则页面时间响应差不多,但是如果用户名是对的,页面响应时间就会和密码长度有关,所以题目给了一个正确的用户名和密码,方便观察测试
  • 然后就是正常的爆破,用pitchfork模式 – 每一个变量标记对应一个字典,一一对应进行破解。

Flawed brute-force protection

防止暴力破解最常见有效的两种方法就是

  • 如果尝试登录失败次数过多封锁ip
  • 如果尝试快速登录很多次阻止远程ip

而这两种方法,都有缺陷,因为它会以登录成功来重置这个登录的计数器,比如这个实验允许登录三次,我们就可以在三次内成功一次就可以又有三次机会,而我们只需要一个已经知道的账户

所以我们可以构造这样的字典

账户

密码

奇数为我们需要爆破的密码,偶数则为已知的密码

注意爆破的时候把线程调小,防止线程太大依然会导致登录过快

Account locking

账户锁定,因为也是会将”该用户已锁定”之类的字样显示在响应包中的,所以也可以用于枚举用户名

  • 有一个用户名的字典,其中包括了有效的用户,随便一个密码,用burp爆破,每个账户都爆破设置的阙值次数,而有效的账户他返回的包长度比其他的大(因为有”该用户已锁定”类似的字样)
  • 然后就可以根据这个已知的用户名去爆破其密码

因为有些人喜欢将不同网站密码设置成相同的,这就导致如果他们其中一个账户密码泄漏以后可以用来登录其他账户,并且因为只尝试一次而无法触发该防护手段

Lab: Broken brute-force protection, multiple credentials per request

用户登录有频率限制

可以将username和password组合成字典形式,以json格式发包一次发出去,让系统一个一个对比

这里放一个小脚本,转化下格式

#!/usr/bin/env python3

file = open('./1.txt', 'r')
lines = file.readlines()
for line in lines:
print('"{}",'.format(line.strip()))

file.close()

别问,问就是Office那些还不太会用

Lab: 2FA broken logic

这个实验我tm爆破了五次,有时候参数传错了,有次忘记爆破完了,没去交答案。。。无语了

主要利用方法就是因为,我们可以用自己的账户去登录,然后改验证用户时的那个user cookie,再去爆破用受害者用户发送的验证码

真的好难等。。

重置密码

1.使用邮箱重置

如果将新密码直接发送给用户邮箱,这是很蠢的行为,很容易遭到中间人窃取,因为有些用户的信息会在多端同步,所以电子邮箱重置一般认为是不安全的

2.使用URL重置

有些网站在提交重置密码表单,并不会验证token,所以hacker可以直接删除token验证,重置任意用户密码

Lab: Password reset poisoning via middleware

这个实验,重置密码的token是动态生成发给邮箱,但是他会发给指定HOST字段的域名,所以我们可以利用X-Forwarded-Host来修改我们自己服务器的域名,可以接收到发给其他用户的重置密码的token

有了这个就可以重置受害者的密码,类似于XSS攻击的利用

Lab: Password brute-force via password change

有时候用户需要更改密码,而有些情况是,系统不强制要求只能更改当前登录用户的密码,然后根据某个参数名定位用户,因为输入错误当前密码和输入正确当前密码但是两次验证新密码错误,两者提示不一样,可以通过爆破来判断某个用户的旧密码

Lab: Password reset poisoning via dangling markup

这个主要是利用一个XSS点去打,得到发送到用户的邮件(因为之前那个评论的xss点被过滤了

我们发现,虽然改了HOST服务器会返回错误,但是我们可以改任意端口,发现也是可以访问的Host: ac231fcd1ebf78a2c0da32e500e90045.web-security-academy.net:6666,然后我们可以查看到邮件有个view raw,发现这里的html并没有进行过滤,我们可以利用类似这样的payload去打"><img src="//exploit-ac101fda1e5a7810c09632bf012200cf.web-security-academy.net/?,这叫做Dangling markup injection在后面的xss攻击中会讲到

之后就可以在自己服务器的log中查看到密码

这个专题就做完了,除了那个2FA的爆破。。。太慢了,我不配做

Burpsuite靶场----身份认证专题

https://lhxhl.github.io/2022/03/06/burp_authentication/

作者

秋秋晚

发布于

2022-03-06

更新于

2022-05-09

许可协议

评论

:D 一言句子获取中...