第九关 通过有缺陷的状态机制绕过身份验证
这一关就是登录过程中的某一个阶段状态有缺陷,导致可以绕过限制,进行管理员身份的登录
提示:1、靶场对登录过程中的事件顺序做出了有缺陷的假设
2、利用此缺陷绕过实验室的身份验证,访问管理界面,并删除用户 carlos。
3、自己的帐户:wiener:peter
具体操作:
1、输入密码登录

2、选择角色,才能完成登录

3、然后跳到首页,点击我的账户

以上就是一个登录的流程
体验完流程,接下来分析下登录的数据包
登录过程中的事件顺序分析:
1.提交用户名和密码
2.跳转到用户角色(role)的选择页面
3.选择角色

尝试了上一关的方法,跳过第二步的做法,发现不行
那换一下做法,到第二步选择角色的的时候,丢弃这个包,然后在浏览器直接插入/admin路径,看可以直接跳到管理界面吗?
也就是登录过程中的事件顺序发生变化:
1.提交用户名和密码
2.跳转到用户角色(role)的选择页面-——GET /role-selector(丢弃)----直接去浏览器访问管理面板 /admin
3.选择角色(这一步就是在浏览器直接插入/admin)
接下来,先退出wiener用户
先抓取这个登录的数据包

抓取这个登录的数据包,然后forward放包放到选择角色的get请求数据包

丢弃这个选择角色的数据包

丢掉选择角色的数据包之后,关闭拦截,然后来到浏览器输入管理员账号

删掉原本这个路径,在根路径后面换成admin,直接访问管理界面

如图:绕过限制,来到了管理员界面,删除其他用户

如图:靶场过关
