HTTP 是否重定向到 HTTPS 密码风险捕获?

2024-03-21

我在 NGINX 中设置了 http-https 重定向配置:

server {
      listen         80;
      server_name    localhost;
      return         301 https://$server_name$request_uri;
}

我的问题是:从用户最初访问我的应用程序的登录页面到发布他的用户名+密码,是否有任何时候凭证在重定向到 HTTPS 之前会通过 HTTP 清除?


这在某种程度上取决于您的登录表单(它应该始终仅发布到 https url),但根据此信息,我认为不,密码总是通过 https当按预期使用时.

但是,您可能需要注意一些事项并添加更多保护(深度防御),因为攻击的重点是让事情不按预期进行。 :)

SSL 剥离

攻击者可能能够从用户的角度降低与 http 的连接,同时攻击者自己仍保持与服务器的安全连接。请注意,即使服务器在普通 http 上没有响应,这也会起作用。看这个视频 https://www.youtube.com/watch?v=MFol6IMbZ7Y or 这个链接 https://avicoder.me/2016/02/22/SSLstrip-for-newbies/(还有许多其他)。解决方案是 HSTS(见下文)。

攻击者注入纯 http 请求

如果攻击者可以以任何方式将纯 http 请求注入到通过纯 http 发送凭据的客户端浏览器中,则这些凭据将不受保护。这适用于发布的用户名/密码,也适用于会话 cookie,会话 cookie 相当于会话期间的用户凭据。所以这意味着如果攻击者可以插入图像src="http://yoursite.com",会话 cookie 将以明文形式发送。响应将根据您的 nginx 设置进行重定向,但为时已晚。始终将您的会话 cookie 设置为secure解决了这个问题(但没有解决有关发布凭证的另一个问题,可以通过 HSTS 来缓解)。

HSTS

您的网站应该有一个Strict-Transport-Security响应标头,这样一旦浏览器有机会与服务器通信而中间人攻击者不会删除标头,它就会记住使用 https,即使用户没有在 URL 栏中明确指定它。

Strict-Transport-Security: max-age=31536000; includeSubDomains

有关 HSTS 的更多信息是here https://www.owasp.org/index.php/HTTP_Strict_Transport_Security_Cheat_Sheet.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP 是否重定向到 HTTPS 密码风险捕获? 的相关文章

  • 导入证书时CRYPT_E_NOT_FOUND

    我正在尝试自动生成证书签名请求的过程 然后从 Windows Server 2012 R2 服务器上的 CA 导入响应 以用作 IIS 中 SSL 绑定的证书 我能够生成 CSR 然后将其提供给安全团队 然后安全团队为我提供响应 然后导入
  • Node.js 上的 Connect 出现“无法 GET /”

    我正在尝试使用以下方式开始提供一些静态网页connect像这样 var connect require connect var nowjs require now var io require socket io var app conne
  • 在 SSLwrapp() 之前在原始套接字上接收/发送,Python

    我想知道在包装原始套接字之前是否可以在原始套接字上接收 发送数据 我已经查看了文档并搜索了它 但找不到任何具体内容 我基本上想做的事情 client addr listeningSocket accept client recv 32 cl
  • 在 HTTP PATCH 请求中包含数据的正确方法

    当我组合 HTTP PATCH 请求时 可以选择哪些选项来包含 URL 参数之外的数据 以下任何一项都有效吗 最常见的选择是什么 多部分 表单数据 应用程序 x www form urlencoded Raw JSON 还有其他的吗 HTT
  • 密码盒和 MVVM

    我们有以下场景 MVVM 用户界面 用户可以在其中输入密码 实际上是一个PasswordBox 应该做一些工作的服务器 服务器连接到一些需要身份验证的数据库 我已经读过这个关于MVVM中PasswordBox的问题 https stacko
  • 如何向 node-http-proxy 响应添加标头

    我需要在第三方服务上解决CORS 所以我想构建一个代理来添加标头 Access Control Allow Origin 为什么这段代码没有添加标题 httpProxy require http proxy var URL https th
  • 在防火墙后面使用 GitHub,无需 SSH 访问

    我真的很想使用 GitHub 但我的公司一切都被锁定了 现在 我只能通过HTTP协议使用Tortoise SVN 我可以以同样的方式使用 GitHub 吗 如果是这样 怎么办 我认为你一直能够克隆github https github co
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • 保护 ASP.NET MVC 应用程序中的 ajax 调用的安全

    我有一个基于 ASP NET MVC 的应用程序 它允许根据用户进行不同级别的访问 当前的工作方式是 当用户访问页面时 会根据数据库进行检查以确定用户拥有的权限 然后根据用户拥有的访问级别选择视图 有些用户比其他用户看到更多数据并拥有更多可
  • 算法 HmacPBESHA256 不可用

    因此 我编写了一些代码来获取 PEM 通过 bouncycastle 将其添加到 PKCS 密钥库 然后使用 java crypto 将 PKCS 密钥库值导入到 JKS 密钥库中 我发誓昨天我在执行这些步骤后成功通过了单元测试 但是今天早
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • 仅在 Tomcat Web 应用程序上为表单登录设置 SSL

    我是否可以将 Tomcat 或我的 web 应用程序 如果这样做 设置为需要 SSL 来保证内置基于表单的登录机制的机密性 即保护用户凭据 并使用标准 http 进行任何其他交易 您可以将登录表单放在自己的目录中 并且只需对该目录要求 SS
  • 如何在服务器上保存用户凭据以在后台运行查询

    背景 我们有一个 ASP NET Silveright Web 应用程序 silverlight客户端显示用户 图形形式的特定数据 它从服务器请求数据 问题 由于服务器必须执行底层数据库查询 获取这些数据的成本很高 因此客户端必须等待 优化
  • 安全网络登录示例/教程[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 为 Web 应用程序创建登录表单的方法有很多种 但大多数方法都存在这样或那样的缺陷 密码以明文形式传输
  • iFrame 在 Facebook Canvas 应用程序中显示为空白

    我有一个非常简单的页面 我试图在 Facebook iframe 中查看它 它是一个 Django 视图 但它不依赖于请求是通过 POST 还是 GET 提交 它所做的只是返回一些简单的 HTML 如果我们直接点击链接 它会正确显示 如果在
  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 为什么浏览器允许onmousedown JS改变href?

    我很长时间以来都注意到 当您尝试复制链接位置或在 Facebook 上打开链接时 它会修改链接并将其传递给l php 例如 我可以被发送到 http www facebook com l php u http 3A 2F 2Fwww goo
  • PHP - 将数据从一个站点安全地传递到另一个站点

    我有一个可以接受来自多个站点的请求的站点 有点像升级检查 这些网站将发送用户名 密码 应用程序版本等信息 然后我的网站将根据这些信息发送响应 基本上这是一个 GET请求 例如 http www mysite com user boo pas
  • 有人可以推荐客户 ssl 证书服务吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在查看各种 SSL 提供商 但它们似乎都提供 电子邮件证书 它可以兼作可以安装到浏览器中的客户端证
  • 访问 Amazon EC2 上的 Mongodb 时出现问题

    我还有一个问题要问你 我有安装了 mondodb 的 Amazon EC2 实例 它工作得很好 除了一件事 我无法从外部 我的电脑 访问 连接到 它 我认为安全组的问题 这是某种默认防火墙 有谁知道如何配置EC2实例来访问mongodb 提

随机推荐

  • 使用 PHP 进行正则表达式电话号码验证

    这是关于我之前提出的问题的另一个问题昨天 https stackoverflow com questions 18094180 ignore entered text after a certain length php jquery se
  • 如何在 Swift 中查找列表项的索引?

    我正在尝试寻找一个item index通过搜索list 有人知道该怎么做吗 我看到有list StartIndex and list EndIndex但我想要类似 python 的东西list index text 由于 swift 在某些
  • Spring Data cassandra 存储库上的插入和保存性能缓慢

    我正在尝试使用 spring 将 1500 条记录插入 cassandra 中 我有一个 POJO 列表 其中包含这 1500 条记录 当我调用 saveAll 或插入此数据时 需要 30 秒才能完成此操作 有人可以建议一种方法让我更快地完
  • start() 已经被调用。第二次调用将被忽略。

    在调用 start 后 在组件 StandardEngine Catalina StandardHost localhost StandardContext Account 上调用 start 方法 第二次调用将被忽略 请帮助我解决这些错误
  • 为什么 pandas df.loc + lambda 不起作用?

    I have created pandas frame from csv file And I want to select rows use lambda But it does not work I use this pandas ma
  • 无法运行程序“...”错误=2,没有这样的文件或目录(java)

    我正在尝试制作一个 java 程序来在我的 macbook 上建立 SSH 连接 它提示我输入用户名 然后是 IP 地址 然后应该执行 ssh username ip 下面是我的代码 import java io BufferedReade
  • 使用 Selenium 时如何选择要启用的 Chrome 扩展程序 [重复]

    这个问题在这里已经有答案了 我正在使用 Selenium Web 驱动程序使用 Chrome 作为浏览器来开发自动化测试 我为此使用Python 我的 Chrome 浏览器上有一个扩展 我希望在 Selenium 打开 Chrome 时启用
  • 如何实现推荐引擎?

    请耐心等待我的写作 因为我的英语不熟练 作为一名程序员 我想了解在推荐系统或相关系统下实现的算法或机器学习智能 例如 最明显的例子来自亚马逊 他们有一个非常好的推荐系统 他们会知道 如果你愿意this 你可能还喜欢that 或者其他类似的东
  • 将 DB 变量中的字节值加载到 16 位寄存器中(符号或零扩展字节)

    我正在使用 MASM 编译器和 DOSBOX 我想将变量的值保存到寄存器中 我想保存num1值转化为cx登记 我怎样才能做到这一点 MODEL SMALL STACK 50H DATA num1 db 5 NL DB 0DH 0AH msg
  • 为什么我们需要 Android 中的服务?音乐播放也可以通过后台线程来完成

    我在一次采访中被问到这个问题 我不确定这是否是问这个问题的正确论坛 因为它不涉及任何代码 而是对 android 概念的理解 问题是 当一切都可以通过 Android 中的后台线程完成时 为什么我们还需要服务 Service运行在主线程中
  • h:commandlink 中的 target="_blank" 未在浏览器的新选项卡中打开页面

    当 h commandLink 与 target blank 一起使用时 我的 h commandLink 正在同一页面 窗口上打开 预览 pdf 文档 我希望它在浏览器的新选项卡中打开 错误可能出在哪里 Preview xhtml代码
  • 将数组的 var_dump 转换回数组变量

    直到今天我才真正考虑过这个问题 但在网上搜索后我并没有真正找到任何东西 也许我在搜索中的措辞不正确 给定一个数组 多维或非多维 data array this gt array is gt the challenge gt array fo
  • 从 JavaScript 更改 href 值

    我在 JsFiddle 中有这个例子 http jsfiddle net PtNfD 114 http jsfiddle net PtNfD 114 a href http www yahoo com target blank Yahoo
  • 非英语文本的情感分析

    我想分析用德语写的文本的情感 我找到了很多关于如何用英语做到这一点的教程 但我没有找到关于如何将其应用到不同语言的教程 我有一个想法使用TextBlobPython 库首先将句子翻译成英语 然后进行情感分析 但我不确定这是否是解决此任务的最
  • 简而言之,关于 Func<> 可以说些什么

    我一直看到功能一段时间以来 我已经设法避免它 暂时 但现在看来 我是无法永远躲开了 例如 我尝试了 Dynamic Linq 但几乎所有内容都是根据 Func 进行的 我已经尝试过我的一本书 C 2008 Deitel Deitel 以及
  • WSH(wscript)是否可以与nodejs结合

    作为 QA 我使用 WSH 脚本在 IE 中进行自动上传 部署和一些 Web 测试 使用 JavaScript 的 WSH wscript 可以打开 IE 窗口 激活它并访问 DOM 模型来执行某些操作或验证某些预期结果 它是一种 Sele
  • 如何使多维数组变得唯一? [复制]

    这个问题在这里已经有答案了 我有一个多维数组设置 如下所示 array 0 gt array name gt Foo slug gt Bar 1 gt array name gt Foo slug gt Bar 2 gt array nam
  • Python 中模拟退火的基础知识 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须使用模拟退火来解决某个优化问题 为了 感受 该技术 我编写了一个小的 Python 代码并尝试运行它 然而 它似乎并没有给出令人满意
  • Android 运行时布局教程

    有谁知道如何在 android 运行时执行活动布局或有一个很好的参考 这是我的活动的代码 我确信我只是忽略了在这里做一些事情 package com isi sa import android app Activity import and
  • HTTP 是否重定向到 HTTPS 密码风险捕获?

    我在 NGINX 中设置了 http https 重定向配置 server listen 80 server name localhost return 301 https server name request uri 我的问题是 从用户