本关主要是身份验证问题,例如身份验证绕过。token绕过以及密码重置这些,具体内容我们通过闯关进行学习。
lesson1主要讲了下身份验证绕过,可以利用的方式有:
hidden隐藏输入(前端绕过)
删除参数(lesson2)
暴力破解(验证码绕过)
lesson2刚开始介绍了下密码找回漏洞的一个案例,然后题目和案例很相似,利用密保问题找回,我们先抓下数据包看一看
将两个密保问题参数删除试试
显而易见是不可以的,发现这个密保问题参数有点问题,会不会是有好几个密保问题然后后面跟据数字排列,0123..那我们试试换成2,3
果然,成功,我真是个小机灵鬼
说实话我之前真的不知道jwt(json web token,Java的一个令牌验证)这个东西,然后按照他这个lensson1-3看了下,明白是咋回事了,说的简单点就是用于身份验证,然后这个结构分为头身尾(我自己这么叫的),然后头是jwt版本信息啥的,身子是传输的数据(就馋它的身子),尾巴是数字签名(一旦动了身子,数字签名就会失效)然后三部分都是通过base64加密
lesson4是个小测,问题大概意思就是删除票数,但是只有管理员能删除票数
我们抓一下数据包康康
第一个数据包是guest的没有token,切换了个用户又抓了一下,然后把她身子用base64解密,可以利用burp或者站长工具解码,而且如果直接解码会有错误,需要在后面加上‘==’,作用是补齐
然后会发现个很敏感的东西,admin false,直接改成true并且basw64加密,应该算是垂直越权
因为动了他的身子,所以签名就失效了,我们把它删除就好了(把头和尾都拧掉也能活)成功过关,没变绿就很难受。咦?为啥非要绿了才舒服,呸。算我没说。。。
lesson5
看着题目应该是和lesson4差不多,然后也是利用burp或者站长工具解码改值加密(我还用站长工具看了下时间戳,没有过期),然后复制进去,成功过关
lesson6主要讲了下refesh-token和access-token两者的关系和选择,这个如果有兴趣可以了解下
lesson7是关于Refresh token的,并且介绍了个案例(纯英文),我简单的看了下,只要拥有一个token,就算过期了,也是可以进行篡改刷新的
但是需要一个请求头
Authorization: Bearer XXX.YYY.ZZZ
然后我们对数据进行抓包
根据题目给的log对数据包进行篡改
分别更改content-type,并且增加请求头
成功,他又没有绿,哎,我可能要被他玩坏了
lesson8,这应该算是平行越权吧,现在只有jerry的token,然后想删除tom的账号
点击删除,然后惯例抓包看下
解码然后修改,再加密,删除签名
重放包,成功,这里虽然没绿但是整个小节绿了
lesson1就是简单的介绍,密码找回漏洞属于逻辑漏洞的一种
lesson2是测试webwolf环境是否能用,选择忘记密码然后发送邮件给webwolf
利用邮件里的密码登录,登录成功(webwolf端口最好设置为默认,否则这里会出错)
lesson3讲了下重置密码会发送邮件问题,除了可以判断用户是否存在外,还可以在用户点击的时候造成钓鱼
lesson4说了密保问题,可以通过密保问题重置密码,然后下面就是一个练习
根据提示,爆破吧
先抓一下数据包
先猜测两个用户名
这个还会先检测一下用户,这样的话在啥都不知道的前提下还可以爆破一下用户名,然后再爆破密保问题,当然了直接干admin也是可以的
爆破跑起来(自己写一个颜色的字典),成功
lesson5是发送邮件验证密码找回
输入想找回的邮件,然后发送并抓包
在我毫无头绪的时候恰巧看见了学院群里有人问更改host的问题,然后我就实验了一下
先本地监听
发送更改host的数据包,可以发送成功
然而什么都没有监听到
不知道是什么原因,如果有哥哥知道请告诉我,然后我只能妥协了,改成了webwolf的端口
监听到了连接link
然后复制路径更改密码
然后到登录界面登录,成功过关
欢乐的时光总是很短暂,离别总是太突然,明天见!
未完待续。。。
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
奖励系统 | 50.00 | 0 | 2020-04-30 09:09:28 | 投稿满 5 赞奖励 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
asdw
发表于 2020-11-30
1
评论列表
加载数据中...