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")
关键截图:
本文来自博客园,作者:{Zeker62},转载请注明原文链接:https://www.cnblogs.com/Zeker62/p/15167726.html