防了个寂寞!CSRF之Referer绕过,赏金就这么水灵灵地到手了
原创
升斗安全XiuXiu
升斗安全XiuXiu
升斗安全
2026年7月25日 00:08
广东
在小说阅读器读本章
去阅读
【文章说明】
- 目的:本文内容仅为网络安全技术研究与教育目的而创作。
- 红线:严禁将本文知识用于任何未授权的非法活动。使用者必须遵守《网络安全法》等相关法律。
- 责任:任何对本文技术的滥用所引发的后果自负,与本公众号及作者无关。
- 免责:内容仅供参考,作者不对其准确性、完整性作任何担保。
阅读即代表您同意以上条款。
你是否也遇到过这种情况:明明 Referer 校验看起来挺严,结果却被一条构造的请求直接绕过去了?今天咱们就来拆解一下这种“防了个寂寞”的 CSRF 防护,顺便手把手带你走一遍完整利用流程。
内容稍微有点长,我把它分成了三个部分,你可以按这个节奏读下去:
一、漏洞原理:Referer 校验为什么靠不住
二、上手实操:从测试到构造 PoC 的完整步骤
三、关键细节:浏览器在背后“帮倒忙”,怎么处理
下面正式开聊。
一、漏洞原理:Referer 校验为什么靠不住
有些应用对 Referer 头的校验方式非常粗暴,常见的有两种。
第一种:只检查域名是不是“以此开头”。
比如目标网站是 vulnerable-website.com,攻击者可以注册这样一个域名:
- http://vulnerable-website.com.attacker-website.com/csrf-attack
程序看到 Referer 开头是 vulnerable-website.com,就直接放行了。实际上这个请求来自攻击者的域,只是把目标域名放在了子域位置。
第二种:只检查 Referer 中是否“包含”自己的域名。
这更离谱,攻击者直接把目标域名塞进 URL 的任意位置就行,比如查询参数里:
- http://attacker-website.com/csrf-attack?vulnerable-website.com
Referer 里确实出现了目标域名,校验再次形同虚设。
这两种情况都属于典型的“看起来有防护,实际上随手就能绕”。
二、上手实操:从测试到构造 PoC 的完整步骤
接下来走一遍完整的利用流程,建议打开你的实验环境跟着操作。
第1步:确认 Referer 校验是否存在
用 Burp 自带的浏览器登录账号,找到“更新邮箱”功能,提交一次。在代理历史里把对应请求找出来,发送到 Repeater。
第2步:尝试修改 Referer 域名
在 Repeater 里把 Referer 头中的域名改成一个完全不相关的地址,发送请求。一般情况下,你会收到拒绝响应,说明程序确实在校验 Referer。
第3步:用查询字符串绕过
把目标地址原始域名复制下来,以查询字符串的形式附加到 Referer 头的域名后面,类似这样:
Referer: https://arbitrary-incorrect-domain.net?目标地址原始域名
再次发送请求,观察是否被接受。如果通过了,就说明程序只要求 Referer 中“某处包含目标域名”即可。
第4步:构造 CSRF 的 PoC 页面
按照常规无防护 CSRF 漏洞的思路,搭建一个攻击脚本,托管在漏洞利用服务器上。
关键点在于:修改 history.pushState 的第三个参数,把目标的 URL 作为查询字符串塞进去,像这样:
history.pushState(\"\", \"\", \"/?目标子域名\")
这样浏览器在发起请求时,Referer 头中会自然带上目标站点的 URL 作为查询参数,和刚才在 Repeater 里测试的效果一致。
第5步:修改邮箱地址并发送
把攻击脚本里的邮箱改成和当前账户不一样的地址,然后保存。
三、关键细节:浏览器在背后“帮倒忙”,怎么处理
到这里你可能会遇到一个问题:保存脚本后点“查看利用”测试,浏览器却报“无效 Referer 头”。
这不是你操作的问题,而是现代浏览器出于隐私保护,默认会把 Referer 中的查询字符串裁掉。也就是说,我们精心构造的查询参数压根没发出去。
解决方法也不复杂:回到漏洞利用服务器,在 Head 配置部分加上这个响应头:
Referrer-Policy: unsafe-url
注意,这里的 referrer 是双 r,和请求头里的 Referer 拼写不一样。这是 HTTP 标准中头名称的正确写法,别搞混了。
加上之后,浏览器就不会再自作主张帮你裁掉查询参数,Referer 里的内容可以完整传递。
设置好之后,再保存脚本,点击“发送给受害者”,实验就顺利完成了。
这类 Referer 校验漏洞在实战中出现的频率不低,很多看似严谨的校验,拆开来看都是纸老虎。
如果今天的内容对你有帮助,别忘了点个赞和在看,顺手转发给身边一起挖洞的伙伴。还没关注的朋友抓紧点上关注,后续我会持续输出更多实用的挖洞技巧和实战干货,咱们下次见!
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论