文章来源:EDI安全
链接多个请求以实现速率限制漏洞,该漏洞正在发送无限的协作邀请
该程序通常在页面的“算法”部分中,可以在其中添加协作者以在项目上和你一起工作。当你添加协作者时,会向他的电子邮件发送通知,告诉他以协作者身份加入您。您只能邀请用户一次,除非您从协作者中删除并重新邀请他。
通过上述功能,我通过链接三个请求发现了一个错误add_collaborator,normal request并且remove_collaborator能够在burp中创建一个名为Macro的东西,通过执行以下步骤,我可以无限制地向目标用户发送通知:
· 执行添加协作者请求。
· 将常规请求发送到www.target.com。
· 执行删除协作者请求。
并且以自动化方式重复上述三个步骤将轰炸受害者的邮件系统以及协作邀请。
重现步骤
要以基本方式证明该错误的存在,需要做的就是添加一个协作者,将其删除,然后再次添加并删除。将收到两个关于该用户邮件收件箱的通知。
如果想以高级方式进行操作,可以创建一个脚本自动执行添加,删除协作者过程并每次重复一次。或者,也可以直接使用burp
保持burp代理运行,执行添加合作者并删除合作者,导航到您的帐户。
协作设定
在burp中,导航到“项目选项”->“会话处理规则”下,单击“添加”->“规则操作”中,单击“添加”,然后选择“运行宏”。
在“选择宏”下,单击“添加”->“请求历史记录”,现在依次选择三个请求:添加协作者-请求到配置文件帐户-删除协作者。单击确定,然后单击测试宏,看到通知已发送到目标电子邮件收件箱。
发起宏攻击
通知已发送至受害者收件箱
自动执行此攻击将导致大量的邮件收件。
影响
滥用向任何用户发送协作邀请的方式,大规模的攻击将炸毁大量邀请用户邮件系统。
为什么会出现此漏洞
仅仅因为该程序不希望链接三个请求来实现协作邀请的速率限制。
补救措施
为“添加协作者”和“删除协作者”请求应用速率限制保护。
从该错误中学到的教训
如果依赖多个请求来执行特定操作,而不仅仅是依靠它们作为保护,还应该实现某种限速保护,以及将多个请求链接起来以利用限速。
报告时间表:
2020年9月19日:初步报告。
2020年11月2日:报告已分类。
2020年11月24日:获得赏金($ 1,000)。
2020年11月24日:报告已解决。