浏览器驱动的请求走私
翻译
原文:https://portswigger.net/web-security/request-smuggling/browser
- name: 翻译
desc: 原文:https://portswigger.net/web-security/request-smuggling/browser
bgColor: '#F0DFB1'
textColor: 'green'
2
3
4
# 1浏览器驱动的请求走私
在本节中,你将了解如何不依赖 浏览器永远不会发送的格式错误请求 来构建高严重性漏洞。这不仅使一系列全新的网站暴露于服务端请求走私,还使你能够诱使受害者,使其浏览器毒害自身与易受攻击 Web 服务器的连接,从而执行这些攻击的客户端变体。
PortSwigger Research
本节中的材料和实验基于 PortSwigger Research 的《浏览器驱动的异步攻击:HTTP 请求走私的新前沿》 (opens new window)。这项研究还发现了一种对抗Host
标头过滤器的绕过技术,即连接状态缺陷 (opens new window)。
# 2CL.0请求走私
有时,可以说服后端服务器忽略Content-Length
标头,这意味着它们会忽略传入请求的正文。这为不依赖分块传输编码 (opens new window)或 HTTP/2 降级 (opens new window)的请求走私攻击铺平了道路。
- name: 实验室-从业者
desc: CL.0请求走私 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/request-smuggling/browser/cl-0/lab-cl-0-request-smuggling
bgColor: '#001350'
textColor: '#4cc1ff'
2
3
4
5
6
# 3客户端异步攻击
在传统上,请求走私被认为是一个服务器端问题,因为它只能使用像 Burp Repeater 这样的专业工具来利用——对于那些触发异常的请求,标准浏览器根本不会发送这些类型的请求。但是,根据从 CL.0 攻击中吸取的教训,有时可以使用完全兼容浏览器的 HTTP/1 请求来产生不同步。
你可以使用这些与浏览器兼容的请求,在浏览器与易受攻击 Web 服务器之间触发客户端不同步(CSD),从而对单服务器站点(原本不受请求走私的影响)和无法直接访问的内部站点发起攻击。
- name: 实验室-专家
desc: 客户端异步 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/request-smuggling/browser/client-side-desync/lab-client-side-desync
bgColor: '#001350'
textColor: '#d112fe'
2
3
4
5
6
# 4基于暂停的异步攻击
某些看似安全的网站,也可能包含隐藏的异步漏洞,只有在你中途暂停请求时,它才会暴露出来。通过发送标头,承诺一个正文,然后等待,有时可以发现额外的异步漏洞,可用于攻击服务端和客户端。
- name: 实验室-专家
desc: 基于暂停的服务端请求走私 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/request-smuggling/browser/pause-based-desync/lab-server-side-pause-based-request-smuggling
bgColor: '#001350'
textColor: '#d112fe'
2
3
4
5
6