Lab: 2FA broken logic:双重验证逻辑破坏靶场复盘
Posted Zeker62
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lab: 2FA broken logic:双重验证逻辑破坏靶场复盘相关的知识,希望对你有一定的参考价值。
靶场内容:
This lab’s two-factor authentication is vulnerable due to its flawed logic. To solve the lab, access Carlos’s account page.
Your credentials: wiener:peter
Victim’s username: carlos
You also have access to the email server to receive your 2FA verification code.
漏洞分析:
- 这里的双重验证漏洞是在于,发送电子邮件的时候可以爆破出验证码
- 在登录我们自己的账号之后,会有一个提交验证码的过程,随便输入一个验证码,截获这个报文
- 修改身份验证信息:将verify参数设置为carlos并向参数mfa-code设置payload
- 使用python脚本写一个0000~9999的验证码字典进行爆破
- 爆破之后用用浏览器打开对应的302URL即可通过靶场
- 验证码是1997
脚本代码
def printnumber_for_2FA(path): # 类似于0001这种验证码
with open(path, 'w') as f:
a = eval(input("输入起始数"))
b = eval(input("输入最后一个数"))
c = eval(input("输入验证码长度"))
for i in range(a,b+1):
if len(str(i))<c:
s="0"*(c-len(str(i)))+str(i)
f.write(s+"\\n")
else:
f.write(str(i)+"\\n")
关键截图:
以上是关于Lab: 2FA broken logic:双重验证逻辑破坏靶场复盘的主要内容,如果未能解决你的问题,请参考以下文章
Lab:Password reset broken logic 密码重置逻辑破坏漏洞靶场复盘
Lab: 2FA simple bypass:绕过两步验证靶场复盘
Lab: Broken brute-force protection, IP block;缺陷暴力防御,IP锁靶场复盘
Lab: Broken brute-force protection, multiple credentials per request:以多个身份凭据破坏暴力保护靶场链接