-
-
[分享]开源负载均衡器HAProxy严重安全漏洞 易受关键HTTP请求走私攻击
-
发表于: 2021-9-10 11:05 3904
-
HAProxy是一个受欢迎的开源负载均衡器和代理服务器,目前披露了一个严重的安全漏洞,该漏洞可能被攻击者滥用,可能会走私HTTP请求,导致未经授权的访问敏感数据和执行任意命令,进行一系列攻击。
该整数溢出漏洞在CVSS评分系统上的严重级别为8.6,已在HAProxy 2.0.25、2.2.17、2.3.14和2.4.4版本中修复。
HTTP请求走私,顾名思义,是一种web应用程序攻击,篡改网站处理从多个用户收到的HTTP请求序列的方式。这种技术也称为HTTP去同步,它利用了对前端服务器和后端服务器处理发送方请求方式不一致的解析。
前端服务器通常是负载均衡器或反向代理,网站使用它们来管理通过单个连接的入站 HTTP请求链,并将它们转发到一个或多个后端服务器。因此,在两端正确处理请求至关重要,这样服务器才能确定一个请求在哪里结束,下一个请求从哪里开始,处理请求失败可能导致附加到一个请求的恶意内容被添加到下一个请求的开始的场景中。
换句话说,由于前端和后端服务器如何使用Content-Length和Transfer-Encoding标头计算每个请求的开始和结束所产生的问题,导致恶意HTTP请求的结束计算错误,将恶意内容置于链中下一个入站请求的开头,而不被服务器处理。
JFrog安全公司的研究人员在一份报告中说:“这次攻击是利用了一个整数溢出漏洞,该漏洞允许在HAProxy解析HTTP请求时达到一个意想不到的状态,特别是在处理内容长度头的逻辑中。”值得一提的是,在软件开发过程中通过静态代码检测可以有效降低安全漏洞数,加强抗攻击能力。
在潜在的实际攻击场景中,该漏洞可用于触发HTTP请求偷袭攻击,目的是绕过HAProxy定义的ACL(又名访问控制列表)规则,该规则允许用户定义自定义规则来阻止恶意请求。
在披露之后,HAProxy 通过添加名称和值长度的大小检查来修复该弱点。“作为一种缓解措施,只要验证任何消息中不超过一个这样的[content-length]标头就足够了,”HAProxy 的创建者和首席开发人员Willy Tarreau在9月3日推送的GitHub提交中指出。
对于无法升级到上述版本的客户,建议将以下代码片段添加到代理的配置中,以减少攻击:
Http-request request if {req.hdr_cnt(content-length) gt 1}
段落引用 Http-response deny if {res.hdr_cnt(content-length) gt 1}
安全漏洞为网络系统遭到攻击提供了广泛的攻击面,尤其随着软件的使用渗透到生活的方方面面,发动一次网络攻击造成的影响将不可估计。减少安全漏洞提高软件安全,已经成为杀毒软件、防火墙等传统防御手段之外的网络安全重要防护方式。尤其在OWASP TOP 10安全漏洞中,60-70%的安全漏洞类型均可通过源代码静态分析技术检测出来,因此在软件开发期间,不断用静态代码检测工具查找代码缺陷及安全漏洞,提高代码质量,可以有效降低企业遭到网络攻击的风险。
5G时代,网络安全威胁无处不在,杀病毒、防火墙、入侵检测的传统”老三样“难以应对不断进化的网络攻击,在软件开发阶段实时检测、修复代码漏洞,提升软件本身的安全属性,降低网络安全风险,已经成为国际共识。
参读链接:
97bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2%4L8$3!0U0L8$3!0E0i4K6u0W2j5$3!0E0i4K6u0r3j5U0l9J5x3g2)9J5k6h3S2@1L8h3I4Q4x3@1k6A6k6q4)9K6c8r3g2U0x3o6V1%4y4r3p5#2y4o6p5I4y4e0b7H3k6X3t1^5k6o6k6U0k6h3q4X3z5h3c8V1j5U0N6W2j5$3j5&6
965K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1K9r3g2Z5j5h3y4C8k6i4u0F1k6i4N6K6i4K6u0W2j5$3!0E0i4K6u0r3x3U0l9J5x3g2)9J5c8U0l9&6i4K6u0r3K9r3q4H3M7X3!0^5P5g2)9J5k6r3k6G2N6h3&6V1i4K6u0V1N6Y4g2D9L8X3g2J5j5h3u0D9k6g2)9J5k6s2c8G2i4K6u0V1j5%4u0A6N6r3W2U0j5h3I4Q4x3X3g2Z5N6r3#2D9
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课