发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场Race conditions vulnerabilities 条件竞争漏洞4

CTF练习 922 0 2025-8-27 09:03:38

第四关 单端点条件竞争

这一关就是修改自己的邮箱地址,修改成carlos@ginandjuice.shop这个邮箱,就自动晋升为管理员了。

提示:1、靶场的电子邮件更改功能包含一个争用条件,使你能够将任意电子邮件地址与你的帐户相关联。

2、地址为 carlos@ginandjuice.shop 的某个人已收到成为站点管理员的待处理邀请,但尚未创建帐户。因此,任何成功声明此地址的用户都将自动继承管理员权限。

3、自己的帐户:wiener:peter

具体操作:

1、登录进来后,填写要改的邮箱地址,点击更改,点击更改发送之后,就返回生成新邮箱的链接

然后点击邮箱客户端查看生成的链接

2、点击链接激活,完成邮箱更改

然后就跳到页面显示“Your email has been successfully updated”,完成邮箱更改

刷新下页面,邮箱已完成更改

以上就是一个更改邮箱的流程

现在尝试把自己的邮箱改成carlos@ginandjuice.shop这个邮箱,邮件是发送了,但是没有这个人的的邮箱地址:

登录不到这个人的邮箱客户端

接下来看操作

就发两个请求包,一个请求包是自己能够接收到的邮箱地址,另外一个请求包是我们要改成的目标的邮箱地址

把这个提交更改邮箱的POST /my-account/change-email数据包发往repeater

把这个第二请求改成管理员的邮箱地址,对@进行编码为%40

email=carlos%40ginandjuice.shop

我这里发送了第二次并发才成功

刷新浏览器:第二次发送的并发,此时生成的是管理员的邮箱地址

点击链接后,跳转到页面显示的“Your email has been successfully updated”说明更改的邮箱已经完成

此时刷新浏览器,邮箱已经改成管理员的邮箱就可以看到管理界面了,点击管理界面

删除carlos用户,靶场过关

接下来用Turbo插件的方法,测试下

把这个提交更改邮箱地址的POST /my-account/change-email数据包发往Trubo intruder插件

又发现既然这两个请求只有填写的email是不一样的,那就让方法再简单点,那我先把第一个请求改成用占位符表示:email=%s

那么两个请求都写成req1

 engine.queue(req1, "carlos@ginandjuice.shop", gate='race1')
engine.queue(req1, "test5%40exploit-0aea008c0495a19a80f39e3c013a00f7.exploit-server.net", gate='race1')

1、这两个请求后面跟三个单引号不要留空格之类的,就这样紧跟着就行
​
2、请求2随便改个名,比如改成test5%40exploit-0aea008c0495a19a80f39e3c013a00f7.exploit-server.net
​
3、现在就全部设置好了,点击开始攻击

并发请求发了两次,第二次才成功,已经成功更改为管理员邮箱地址

发送第二次成功重置为管理员的邮箱地址链接

刷新下浏览器,就成功改成管理员的邮箱地址了,也多了一个管理员面板,然后点击管理界面删除carlos用户靶场过关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回