前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >go 1.24.2 发布:net/http 重大安全漏洞修复,你的服务还安全吗?

go 1.24.2 发布:net/http 重大安全漏洞修复,你的服务还安全吗?

作者头像
福大大架构师每日一题
发布于 2025-04-04 07:34:03
发布于 2025-04-04 07:34:03
18301
代码可运行
举报
运行总次数:1
代码可运行

📢 最新消息 北京时间 2025年4月2日,Go 官方团队紧急发布了 Go 1.24.2Go 1.23.8 版本,重点修复了 net/http 包中的一个高危安全漏洞——HTTP 请求走私(Request Smuggling)(CVE-2025-22871)。该漏洞可能导致恶意攻击者绕过安全检测,构造非法请求,威胁服务器安全。

🚨 漏洞影响范围

  • • 所有使用 net/http 处理分块传输编码(Chunked Transfer Encoding)的 Go 服务端或代理服务器
  • • 如果服务部署在反向代理(如 Nginx、Apache)之后,也可能受此漏洞影响,需同步检查代理配置。
🔍 漏洞详解:HTTP 请求走私(Request Smuggling)

什么是 HTTP 请求走私? HTTP 请求走私是一种攻击技术,攻击者通过构造畸形的 HTTP 请求,利用服务器和代理对请求解析的差异,绕过安全策略,实现恶意请求注入、缓存投毒甚至数据窃取。

漏洞成因 在 Go 的 net/http 包中,当处理 分块传输编码(Chunked Encoding) 的请求时,如果 分块大小行(Chunk-Size Line)以 \n(LF)而非标准的 \r\n(CRLF)结尾,某些代理或服务端可能会错误解析,导致请求走私。

攻击示例 恶意请求可能长这样:

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
GET / HTTP/1.1  
Transfer-Encoding: chunked  

5\n     // 非法分块行(仅 LF 结尾)  
Hello  
0\r\n\r  

修复前:部分服务器可能错误解析 5\n 为合法分块,导致后续数据被恶意利用。 修复后:Go 1.24.2 严格拒绝此类请求,直接返回错误。


🛠️ 修复内容:Go 1.24.2 如何堵住漏洞?

本次更新在 net/http 包中增加了严格的 分块编码校验逻辑

  1. 1. 强制 CRLF 检测
    • • 分块大小行必须以 \r\n 结尾,否则直接报错 "chunked line ends with bare LF"
  2. 2. 禁止非法 CR 字符
    • • 如果分块行内部出现额外的 \r,抛出错误 "invalid CR in chunked line",防止攻击者构造畸形数据。
  3. 3. 严格遵循 RFC 9112 标准
    • • 确保所有分块请求解析符合 HTTP 规范,避免解析歧义。

修复代码关键逻辑(简化版):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if bytes.IndexByte(p, '\r') != len(p)-2 {  
    return errors.New("invalid chunked line")  
}  
p = p[:len(p)-2]  // 移除 CRLF,仅处理合法数据  

💡 影响与建议

必须升级的场景

  • • 你的 Go 服务直接暴露在公网,处理用户请求。
  • • 使用了 net/http 作为 HTTP 服务器或客户端,并启用分块传输编码。

🔍 如何检查是否受影响?

  • • 运行 go version,如果版本低于 1.24.21.23.8,需立即升级。
  • • 使用安全扫描工具(如 Burp Suite)测试服务端是否允许裸 LF 分块请求。

📌 升级命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
go get golang.org/dl/go1.24.2  
go1.24.2 download  
🚀 总结

Go 1.24.2 是一个关键安全更新,所有开发者应尽快升级,避免被恶意攻击者利用请求走私漏洞入侵服务。如果你的业务依赖 HTTP 分块传输编码,建议:

  1. 1. 立即升级到 Go 1.24.2
  2. 2. 检查反向代理配置,确保兼容 RFC 标准。
  3. 3. 监控异常请求,防范潜在攻击。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
请求走私利用扩展
在之前我们介绍了HTTP/1和HTTP/2的请求走私原理以及利用方法,本篇文章将对此进行进一步扩展介绍一些特殊的场景下的请求走私的检测以及利用方式和思路,对请求走私进行一个扩展补充,例如:CL.0请求走私、H2.0走私、去同步化攻击等,同时本篇文章也是对请求走私系列的最后一个收官,至此请求之前留下的请求走私的坑也算是被填完了
Al1ex
2024/02/22
2890
请求走私利用扩展
Web Security 之 HTTP request smuggling
在本节中,我们将解释什么是 HTTP 请求走私,并描述常见的请求走私漏洞是如何产生的。
凌虚
2021/03/19
1.3K0
Web Security 之 HTTP request smuggling
请求走私利用实践(下)
假设应用程序使用前端服务器来实现访问控制限制,仅当用户被授权访问所请求的URL时才转发请求,然后后端服务器接受每个请求,而不做进一步的检查,在这种情况下可以利用HTTP请求走私漏洞通过请求走私访问受限制的URL从而绕过访问控制,假如允许当前用户访问/home,但不允许访问/admin,他们可以使用以下请求走私攻击绕过这一限制:
Al1ex
2024/01/26
1910
请求走私利用实践(下)
[ffffffff0x] 浅析 HTTP Smuggling 攻击
由于各种各样的原因,各网站通常使用多级代理模式对外开放Web服务,如CDN、Nginx代理等。HTTP/1.1 版本倾向于使用keep-alive长连接进行通信,提高前后端之间的通讯效率。也就是说多个人的流量可能会在前后端之间的同一个tcp会话中传输,另外前后端对于Content-Length和Transfer-Encoding的解析处理方法不同,有可能造成请求污染的情况,直接导致HTTP Smuggling攻击的出现。
r0fus0d
2020/12/27
1K0
[ffffffff0x] 浅析 HTTP Smuggling 攻击
请求走私利用实践(上)
在上次的"Websocket通信安全概览"一文中对WebSocket的请求走私做了一个简单的介绍后总觉得对请求走私这一部分知识内容缺乏一个完整性的梳理,后面经过几次断断续续的补充以及时间的拼凑最终有了这一篇较为完整的关于请求走私的介绍文章和利用实践文章,而这也算是填补了自己之前遗留的一个坑吧
Al1ex
2024/01/26
3170
请求走私利用实践(上)
HTTP2请求走私(上)
HTTP/2是HTTP协议自1999年HTTP 1.1发布后的首个更新,它由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组进行开发,该组织于2014年12月将HTTP/2标准提议递交至IESG进行讨论并于2015年2月17日被批准,目前多数主流浏览器已经在2015年底支持了该协议,此外根据W3Techs的统计数据表示自2017年5月,在排名前一千万的网站中有13.7%支持了HTTP/2,本篇文章我们将主要对HTTP/2协议的新特性以及HTTP/2中的请求走私进行详细介绍
Al1ex
2024/02/01
2120
HTTP2请求走私(上)
非侵入式入侵 —— Web缓存污染与请求走私
本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 —— Web缓存污染与请求走私。Web缓存污染旨在通过攻击者向缓存服务器投递恶意缓存内容,使得用户返回响应结果而触发安全风险。HTTP请求走私旨在基于前置服务器(CDN、反向代理等)与后置服务器对用户请求体的长度判断标准不一致的特性,构造能够被同一TCP连接中其它用户夹带部分恶意内容的攻击请求,从而篡改了受害者的请求与响应行为。两种漏洞均需要通过针对中间件的合理配置与业务接口的合理设计进行排查和防御。
2020labs小助手
2023/03/14
5630
HTTP2请求走私(下)
网站即使采取措施阻止基本H2.CL或H2.TE攻击(例如:验证content-length或剥离任何transfer-encoding头),我们也可以通过利用HTTP/2的二进制格式中允许的一些方法来绕过这些前端措施,在HTTP/1中我们有时可以利用服务器处理独立换行符(\n)方式之间的差异来走私被禁止的头
Al1ex
2024/02/01
2830
HTTP2请求走私(下)
由一次渗透测试引发的HTTP请求走私思考
前几天朋友发了一个朋友圈说他的网站刚建好没有多久就被别人给脱库了,里面有一些客户的资料,有点难受。便向他询问了一些事情,溯源无果后便和他商量了一下帮助他将再次新建的网站进行了一次友情渗透测试。而HTTP请求走私漏洞也是在其中发现的一个可以小事化大,大事化危的一个漏洞。遂将其发现过程记录下来
谢公子
2022/01/20
8670
由一次渗透测试引发的HTTP请求走私思考
Web Hacking 101 中文版 七、CRLF 注入
CRLF 注入是一类漏洞,在用户设法向应用插入 CRLF 时出现。在多种互联网协议中,包括 HTML,CRLF 字符表示了行的末尾,通常表示为\r\n,编码后是%0D%0A。在和 HTTP 请求或响应头组合时,这可以用于表示一行的结束,并且可能导致不同的漏洞,包括 HTTP 请求走私和 HTTP 响应分割。
ApacheCN_飞龙
2022/12/01
9800
Web Hacking 101 中文版 七、CRLF 注入
HTTP应知应会知识点复习手册(下)
还可参考:https://blog.csdn.net/lpjishu/article/details/50917092
Rude3Knife的公众号
2019/08/07
4680
HTTP应知应会知识点复习手册(下)
CVE-2024-40725|Apache HTTP Server 源代码泄露漏洞(POC)
Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其具有的跨平台性和安全性,被广泛使用,是最流行的Web服务器端软件之一。
信安百科
2024/08/05
1.6K0
CVE-2024-40725|Apache HTTP Server 源代码泄露漏洞(POC)
初探HTTP请求走私
文章首发于跳跳糖社区https://tttang.com/archive/1808/
用户9691112
2023/05/18
1.9K0
初探HTTP请求走私
协议层的攻击——HTTP请求走私
最近在学习研究BlackHat的议题,其中有一篇议题——"HTTP Desync Attacks: Smashing into the Cell Next Door"引起了我极大地兴趣,在其中,作者讲述了HTTP走私攻击这一攻击手段,并且分享了他的一些攻击案例。我之前从未听说过这一攻击方式,决定对这一攻击方式进行一个完整的学习梳理,于是就有了这一篇文章。
知道创宇云安全
2019/10/11
1.9K0
协议层的攻击——HTTP请求走私
常规36个WEB渗透测试漏洞描述及修复方法--很详细
  apache一些样例文件没有删除,可能存在cookie、session伪造,进行后台登录操作
Power7089
2021/09/15
2.7K0
netty对http协议解析原理解析
本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能。 1 http协议 1.1 描述 标示
xiangzhihong
2018/02/05
3.2K0
netty对http协议解析原理解析
《图解 HTTP》 阅读摘要
这次做了一些笔记,方便自己和其他人翻阅和复习,因为这本书是 2014 年出的初版,所以有一些不怎么常用的技术,笔记中就省略了,只记一些比较常用的 ~
前端下午茶
2019/06/27
6500
实战 | WAF-Bypass之SQL注入绕过思路总结
如果流量都没有经过WAF,WAF当然无法拦截攻击请求。当前多数云WAF架构,例如百度云加速、阿里云盾等,通过更改DNS解析,把流量引入WAF集群,流量经过检测后转发请求到源站。如图,dict.com接入接入WAF后,dict.com的DNS解析结果指向WAF集群,用户的请求将发送给WAF集群,WAF集群经过检测认为非攻击请求再转发给源站。
HACK学习
2022/02/17
5K0
实战 | WAF-Bypass之SQL注入绕过思路总结
CRLF攻击原理介绍和使用
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。
全栈工程师修炼指南
2020/10/23
7.4K0
CRLF攻击原理介绍和使用
神兵利器 - HTTP 请求走私检测工具
HTTP 请求走私是一种高危漏洞,是一种攻击者走私模糊的 HTTP 请求以绕过安全控制并获得未经授权的访问以执行恶意活动的技术,该漏洞早在 2005 年就被watchfire发现,后来在 2019 年 8 月重新发现由James Kettle - (albinowax)发现并在DEF CON 27和Black-Hat USA 上展示,要了解有关此漏洞的更多信息,您可以参考他在Portswigger 网站上的详细研究博客. 所以这个安全工具背后的想法是检测给定主机的 HRS 漏洞,检测基于给定排列的时间延迟技术,所以要了解更多关于这个工具的信息,我强烈建议你阅读我的博客文章这个工具。
Khan安全团队
2021/08/26
1.7K0
神兵利器 - HTTP 请求走私检测工具
相关推荐
请求走私利用扩展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验