1. beplay体育能用吗网络安全学院
  2. 要求走私
  3. 先进的
  4. 请求隧道

HTTP请求隧道

我们涵盖的许多请求走私攻击只有可能是因为前端和后端处理多个请求之间的相同连接。尽管某些服务器将重用任何请求的连接,但其他服务器具有更严格的政策。

例如,某些服务器仅允许源自同一IP地址或同一客户端的请求重复使用该连接。其他人根本不会重复使用该连接,这限制了您通过经典请求走私可以实现的目标,因为您没有明显的方法来影响其他用户的流量。

前端和后端之间没有连接重复使用

尽管您不能中毒插座来干扰其他用户的请求,但您仍然可以发送一个请求,该请求将引起后端的两个答复。这有可能使您可以完全隐藏一个请求及其匹配响应,从前端完全隐藏。

HTTP请求隧道

您可以使用此技术绕过前端安全措施,否则可能会阻止您发送某些请求。实际上,即使是专门针对防止要求走私攻击的某些机制也无法停止请求隧道。

以这种方式向后端发出的隧道要求提供了更有限的要求走私形式,但它仍然可以导致右手的高度利用。

请求使用HTTP/2的隧道

HTTP/1和HTTP/2的请求隧道可能是可能的,但在HTTP/1仅环境中检测到更加困难。由于持续的方式(活着)连接在HTTP/1中起作用,即使您确实收到了两个回复,也不一定会确认该请求已成功地走私。

另一方面,在http/2中,每个“流”只能包含一个请求和响应。如果您收到HTTP/2的响应,其中似乎是HTTP/1响应的响应,则可以确信您已经成功地隧道隧道了。

通过HTTP/2请求隧道泄漏内部标头

当请求隧道是您的唯一选择时,您将无法使用我们涵盖的技术泄漏内部标头我们较早的实验室之一,但是http/2降级可以实现替代解决方案。

您可能会欺骗前端,以在后端上将成为车身参数的内部标头附加。假设我们发送了一个看起来像这样的请求:

:方法 邮政
:小路 /评论
:权威 脆弱的website.beplay体育能用吗com
内容类型 应用/X-WWW-Form-urlenCoded
foo

酒吧\ r \ n内容长度:200\ r \ n\ r \ n评论=

x = 1

在这种情况下,前端和后端都同意只有一个请求。有趣的是,它们可以在标题结束的位置上不同意。

前端将我们注入的所有内容都视为标头的一部分,因此在尾声之后添加了任何新标头评论=细绳。另一方面,后端看到\ r \ n \ r \ n序列并认为这是标题的终结。这评论=绳子以及内部标头被视为身体的一部分。结果是评论具有内部标头的参数为其值。

帖子/评论http/1.1主机:vilesable-website.com cobeplay体育能用吗ntent-type:application/x-www-form-urlencoded content-Length:200 comment = x----internal-header:secretcontent-engent:3 x = 1

盲要求隧道

一些前端服务器在后端收到的所有数据中阅读。这意味着,如果您成功地隧道请求,他们将有可能将这两个响应转发给客户,并且对嵌套在主要响应内部的隧道请求的响应。

其他前端服务器仅读取在该字节中指定的字节数内容长度响应的标题,因此只有第一个响应才会转发给客户端。这会导致盲目的隧道漏洞,因为您将无法看到对隧道请求的响应。

非盲要求使用头部

盲要求隧道可能会很棘手,但是您有时可以通过使用这些漏洞要求。

请求通常包含一个内容长度标题即使他们没有自己的身体。这通常是指一个由A返回的资源的长度得到请求到同一端点。一些前端服务器无法解决此问题,并尝试读取标题中指定的字节数,无论如何。如果您成功地通过执行此操作的前端服务器隧道隧道隧道,则此行为可能会导致其过度阅读后端的响应。结果,您收到的响应可能会从对隧道请求的响应开始时包含字节。

要求

:方法
:小路 /例子
:权威 脆弱的website.beplay体育能用吗com
foo

酒吧\ r \ n\ r \ n获取 /隧道http /1.1\ r \ n主持人:脆弱的website.cobeplay体育能用吗m\ r \ nX:X

回复

:地位 200
内容类型 文本/html
内容长度 131

HTTP/1.1 200 OK内容类型:文本/HTML内容长度:4286 <!Doctype HTML>

Tunnelled

这是隧道

当您有效地混合内容长度从一个与另一种身体的身体响应中,成功使用此技术成功的标题有点平衡行为。

如果您发送给您的终点请求返回一种比您要阅读的隧道响应短的资源,在您看到任何有趣的内容之前,它可能会被截断,如上面的示例。另一方面,如果返回内容长度比对隧道请求的响应更长,您可能会遇到超时,因为前端服务器剩下等待额外的字节从后端到达。

幸运的是,有了一些反复试验,您通常可以使用以下解决方案之一克服这些问题:beplay维护得多久

  • 指向你请求根据需要返回更长或较短资源的其他端点。

  • 如果资源太短,请在主中使用反射输入请求注入任意填充字符。即使您实际上看不到输入的反映,也返回内容长度仍将相应增加。

  • 如果资源太长,请使用隧道请求中的反射输入来注入任意字符,以使隧道响应的长度匹配或超过预期内容的长度。

beplay体育能用吗网络缓存中毒通过HTTP/2请求隧道

即使请求隧道通常比经典要求走私更有限,但您有时仍可以构建高度攻击。例如,您也许可以将我们迄今为止查看的请求隧道技术组合起来,以获取一种额外的网络缓存中毒形式。beplay体育能用吗

通过非盲要求隧道,您可以有效地将一个响应中的标题与另一个响应的主体匹配。如果身体中的响应反映了未编码的用户输入,则可以利用此行为反映XSS在浏览器通常不会执行代码的上下文中。

例如,以下响应包含未编码的攻击者控制输入:

http/1.1 200 OK content-type:application/json {“ name”:“ test “} [等]

就其本身而言,这是相对无害的。这内容类型意味着此有效载荷将简单地将其解释为浏览器。但是,请考虑如果您将请求隧道隧道隧道隧道挖掘到后端会发生什么。这种反应将出现在不同反应的身体内部,有效地继承了其标题,包括内容类型

:地位 200
内容类型 文本/html
内容长度 174

http/1.1 200 OK content-type:application/json {“ name”:“ test “} [等]

由于缓存发生在前端,因此也可以欺骗缓存,以将这些混合响应提供给其他用户。

免费注册以跟踪您的学习进度

通过Portswigger的网络安全学院工作的好处beplay官网可以赌beplay体育能用吗
  • 练习在现实目标上利用漏洞。

  • 记录您从学徒到专家的发展。

  • 看看您在我们的名人堂中排名。

已经有一个帐户?在此登录