是否可能篡改CloudFront Viewer地址值



我准备了一个只执行phpinfo((的站点,下面的结果显示XFF可以被篡改,但不能被CloudFront Viewer Address值篡改,因为它具有正确的外部IP。

CloudFront Viewer Address值不可能被篡改,即,在IP限制方面信任该值是否安全?或者它会被篡改吗?(如果是后者,你能告诉我可能的情况是什么吗?(

$ openssl s_client -connect example.jp:443 -servername example.jp
GET / HTTP/1.1
HOST: example.jp
X-Forwarded-For: 192.168.10.1, 10.0.1.2
cloudfront-viewer-address: 10.0.1.3
cloudfront-viewer_address: 10.0.1.3
cloudfront_viewer-address: 10.0.1.3
cloudfront_viewer_address: 10.0.1.3
-----------------------

它不能像x-forwarded-for那样被篡改,因为如果攻击者添加它,CloudFront只会覆盖它。

众所周知,许多攻击者会在使用自定义标头或Cloudfront标头时使用它。使用x-forwarded-for,您还可以得到多个标头:值对或多个值。两者都是问题,因为您的代码如何知道要检查哪一个?

当然,你可以配置像nginx这样的代理来覆盖任何/所有x-forwarded-for-headers,但是,我们在这里谈论的是使用AWS服务,不需要添加另一个代理。

BTW:现在建议而不是使用x-作为自定义标头的前缀:https://tonyxu.io/posts/2018/http-deprecate-x-prefix/

以给您带来问题的方式进行篡改?取决于配置。如果您的源站配置为只允许来自Amazon CloudFront端点的流量,并丢弃所有其他请求(建议使用防火墙,在网络服务器上设置防火墙或IP限制是实现这一点的方法(,那么它就不能被篡改。如果配置为,CloudFront将始终发送此标头,因此任何篡改尝试都将被CloudFront覆盖,正如Chris Thompson所说,任何绕过CloudFront的尝试都将由防火墙放弃。

相关内容

  • 没有找到相关文章

最新更新