问题标签 [hostheaders]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
882 浏览

nginx - NGINX - 如何检查请求的域和 server_name(HOST 标头值)是否相同

我在 NGINX 后面的机器上运行了多个服务,

使用为少数应用程序端点配置的 server_name

由于我希望一项服务成为我机器的默认应用程序,因此我将其公开为默认服务器

问题是,当 NGINX 收到对 https://mydomain.com 的请求且 HOST 标头设置为“another.app.com”时,default_server 开始提供服务。它返回 404,

但我想限制默认服务器或其他服务器仅在 HOST 标头和请求域相同时服务。

就像是,

请帮助我。

注意:我们可以为 server_name 给出所有域名的可能组合。在我的情况下,IP 不是静态/动态的

0 投票
1 回答
53 浏览

splunk - Splunk 主机标头覆盖日志消息中的主机密钥

考虑到主机名“host”比“host”键更重要,如何阻止 Splunk?

假设我有以下日志:

颜色=红色;主机=本地主机
颜色=蓝色;主机 = 新主机

以下查询工作正常:

但以下没有:

因为它没有将“主机”视为日志中的键,而是将主机标头视为“主机”。

我该如何处理?

0 投票
1 回答
115 浏览

python-3.x - 如何使用 python 请求指定确切的 http 方法?

在 Burp Suite 中,捕获请求的第一行通常是GET / HTTP/1.1. 但是,我目前正在使用提供绝对 URL 的方法来练习主机标头注入,以便如下所示:

在 python 中,我使用 requests 库并且无法指定GET我需要的确切请求。

我尝试GET在标头字典 ( header = {"GET":" / HTTP/1.1", ...}) 中指定请求,但这只会导致第 6 行的 GET标头而不是r 请求被发送:

这是一个非常具体的问题,我不确定是否有人遇到过同样的问题,但感谢您的帮助。也许是 urllib 的解决方法或我缺少的东西。谢谢。

0 投票
0 回答
351 浏览

django - 带有假主机头的 Django 服务器端请求伪造

一个 Django 应用程序使用名为 ALLOWED_HOSTS 的内置设置,将请求主机标头列入白名单。这是必需的,因为 Django 在某些情况下使用客户端提供的 Host 标头来构造 URL。

fakehost.com我向 Django 端点发出了十个带有假主机头(我们称之为)的请求: /example.

在应用程序日志中,我看到django.security.DisallowedHost错误出现了十次。但是,根据 的日志fakehost.com,它确实收到了/example.

据我了解,这是一个服务器端请求伪造 (SSRF) 漏洞,因为可以使 Django 服务器向任意 URL 发出请求。

它使调试变得困难,并且奇怪的是问题不会始终如一地发生。同样奇怪的是,假主机似乎被 Django 识别,但仍然以某种方式达到了一个请求fakehost.com

有没有人知道我可以进一步调查什么来修复这个 Django 应用程序中的明显漏洞?问题可能在服务器级别而不是应用程序级别?

0 投票
2 回答
505 浏览

spring-cloud-feign - Feign 客户端未转发自定义主机标头

我正在尝试使用 feign 客户端发送自定义主机标头,但消费者应用程序没有选择它们。我使用的是spring boot feign而不是openfeign。

除了主机之外,其他所有标头似乎都按预期工作。

当我将主机名作为“xyz.com”传递时,消费者应用程序仍采用默认主机头。

在消费者代码中,当我从控制器类读取主机标头的值时,我没有得到 zyz.com。相反,它从 dns 名称中选择。

0 投票
1 回答
44 浏览

azure - 基于主机标头通过 Azure Function 代理路由流量

我正在尝试通过功能代理为多个站点提供服务。

可以通过前门。但只是想知道这是否可以通过 Azure 功能代理实现?

0 投票
0 回答
46 浏览

nginx - Nginx 禁用覆盖主机到 http_host

如果 http 主机头存在,Nginx 默认将 $host 属性覆盖为 $http_host。有没有办法禁用这种行为?
我想通过禁用此行为来防止主机头注入。

0 投票
0 回答
14 浏览

amazon-web-services - AWS beanstalk 上的 Blazor Multi Tenant 应用程序与 Cognito

我们在 Blazor 中构建了一个应用程序,该应用程序使用主机标头进行多租户设置

该应用程序现在将部署到 AWS Beanstalk 并使用 Cognito 用户池

我们一直在使用 HttpContext 从主机名中获取租户名称,但现在部署在 AWS 上,这似乎不起作用并且总是返回 localhost。不确定这是因为 Beanstalk 还是负载均衡器,但我正在寻找有关如何解决此问题的建议。

谢谢

麦克风

0 投票
0 回答
79 浏览

java - 防止不当输入处理攻击

我正在尝试修复一个站点漏洞,它是 WhiteHat 提出的“输入处理不当”攻击。假设我的网站是www.mywebsite.com并且有黑客的网站www.hacker.com

每当有一个请求发送到www.mywebsite.com并且修改后的“主机”标头指向www.hacker.com时,我的网站都会创建一个到www.mywebsite.com的重定向以及它的任何 URL。为了解决这个问题,我尝试了下面的 tomcat 虚拟主机配置,但它仍然重定向到其他网站。

所以,我的问题是,这是防止这种主机头攻击的正确方法吗?如果是,我做错了什么仍然无法正常工作?(最终的目标是,如果传入的不是合法的Host,则该请求应该被丢弃/忽略/返回404而不是302重定向)

0 投票
0 回答
57 浏览

java - 如何使用网站的 IP 地址而不是 Java 中的域名直接连接到 WebSocket?

我可以使用以下方法成功连接到 websocket:

我想通过IP连接到网络套接字,例如:

IP 在 Nginx 上托管多个网站,所以我想我需要一种方法来指定主机。我试过设置服务器名称..

结果:com.neovisionaries.ws.client.OpeningHandshakeException:打开握手响应的状态码不是“101 Switching Protocols”。状态行是:HTTP/1.1 404 Not Found

我也试过设置主机头:

结果:com.neovisionaries.ws.client.OpeningHandshakeException:打开握手响应的状态码不是“101 Switching Protocols”。状态行是:HTTP/1.1 404 Not Found

即使通过在 Java 中使用其他方式,我怎样才能实现这一点?