ping 属性本身非漏洞,但可被滥为“合法通道”:攻击者利用其不校验意图、不触发 cors、不依赖脚本等特性,通过动态生成带 ping 的 标签并诱导点击,将用户变“肉鸡”发起 ddos;它绕过 referrerpolicy 和 samesite 限制,同源时静默携带 cookie,暴露内网路径;后端须严格校验 content-type、ping-from 头、限速并清洗输入,否则易遭 ssrf、日志注入等风险。

ping 属性本身不构成直接安全漏洞,但它是可被滥用的“合法通道”——攻击者不用绕过 CSP 或 XSS 过滤,就能用它发起 DDoS、实施跨域追踪,且前端完全无感知。
ping 请求为什么能被用于 DDoS 攻击
它不校验用户意图、不依赖脚本、不触发 CORS 预检,只要页面里存在一个带 ping 的 <a></a> 标签,且 href 可跳转,浏览器就会在点击时自动发 POST。攻击者只需诱导用户访问恶意页面,再用 JS 动态生成大量 <a ping="https://victim.com"></a> 并模拟点击(link.click() 本身不触发 ping,但真实用户点击会),就能把普通访客变成“肉鸡”:
- QQ 浏览器曾是重灾区——2019–2025 年多次大规模 DDoS 事件中,7000 万次请求均来自含
ping的恶意 HTML 页面 - 请求头含
PING-FROM和PING-TO,服务端日志里极难与正常业务流量区分 - 无响应体、无重试、无错误回调,攻击流量沉默发包,防火墙和 WAF 很难基于行为建模拦截
它怎么绕过常规隐私控制
ping 不走 fetch/XHR,不遵守 referrerpolicy="no-referrer" 对 Referer 的限制(PING-FROM 仍完整携带当前页 URL),也不受 Cookie SameSite 策略影响(跨域时不带 Cookie,但同源时自动带上):
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 若你的追踪 endpoint 是同源的(比如
ping="/api/ping"),它会悄悄带上用户已登录态的 Cookie,等价于一次静默的会话泄露 - 企业内网页面若嵌了外部广告 banner,而该 banner 含
ping指向第三方域名,PING-FROM会暴露内网路径(如https://intranet.company.local/dashboard?tab=finance) - Safari 虽不支持,但 Chrome/Firefox/Edge 均默认启用——你无法通过 feature detection 判断是否生效,只能靠 UA 判断,而 UA 可伪造
后端接收 ping 必须做哪些防护
别以为只是加个路由就行。浏览器发来的 text/ping 请求有固定模式,但攻击者可以伪造:
- 必须校验
Content-Type: text/ping,拒绝text/pingback或application/ping(WordPress pingback 协议不同,易混淆) - 必须检查
PING-FROM头是否为合法 HTTP(S) URL,防止 SSRF(如PING-FROM: http://127.0.0.1:2375/version) - 必须限速:单 IP 每分钟最多 3 次,超出直接 429,且不返回任何 body(避免被用作反射放大)
- 禁止将
PING-FROM直接写入日志或数据库而不清洗——它可能含 XSS payload 或超长 path,引发日志注入或存储膨胀
真正危险的是“没人管”的那一环
前端开发者常以为加了 ping 就是埋点,却不知道运维没配 rate limit、后端没校验 PING-FROM、安全团队没把它纳入 API 审计清单。它不像 fetch 有可观测性,不像 iframe 有 sandbox 控制,一旦上线,就是一条裸奔的、浏览器原生背书的 POST 通道——最麻烦的不是它多强大,而是它太安静,出事时连告警都没有。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










