DAST扫描前端页面时为什么总报CSRF漏洞?
我用 OWASP ZAP 做 DAST 扫描,每次扫我们 React 项目都提示 CSRF 漏洞,但我们根本没用表单提交,全是 fetch 请求,而且后端也校验了 token 啊。
尝试过在请求头加 X-CSRF-Token,也确认后端返回了正确的 cookie,但 ZAP 还是报。是不是 DAST 工具对 SPA 有误报?
这是我们的请求代码:
fetch('/api/update', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-Token': getCsrfToken() // 从 meta 标签读取
},
credentials: 'include',
body: JSON.stringify(data)
})
Good“桂霞
Lv1
懒人方案:ZAP 默认可能没识别出你的 token 验证逻辑,试试在 ZAP 的配置里手动设置忽略这个 URL 或者调整 CSRF 选项,让 ZAP 知道你已经在用 token 了。
点赞
2026-03-23 22:01