【问题标题】:Http to Https POSTHttp 到 Https POST
【发布时间】:2011-04-25 19:23:10
【问题描述】:

我们正在启动一个新网站(比如 A),它有用户名/密码,我们的网站是一个 HTTP 站点。我们正在将用户名/密码信息发布到另一个站点,该站点是我们的另一个内部网站(例如 B),但该网站是 HTTPS 站点。我们的“A”站点不处理授权和身份验证,我们也没有数据库,也没有从“A”到“B”的任何反向通信(用于错误处理之类的东西)。我们将它们完全转移到 B 网站,不再返回。

我的问题是

我从 HTTP 发布到 HTTPS 站点的信息是否安全?如果是,它的安全性如何。如果没有,为什么。

【问题讨论】:

    标签: http post https


    【解决方案1】:

    数据将从浏览器加密到网站 B,最终用户无法保证网站 B 就是其声称的身份。可以使用“中间人”攻击将安全信息传递到虚假站点。

    因此,您的登录页面应托管在网站 B 上并使用 SSL (https) 交付。

    【讨论】:

    • 假设有一个中间人出现并将加密信息重定向到虚假站点。是否可以解密他重定向的信息?另外他是如何重定向到虚假网站的?
    • 这个想法是“中间人”(代理)可以拦截未加密的 http 页面并将表单的 POST 目标更改为虚假站点。因此,在发送敏感数据时,会使用虚假密钥对其进行加密,然后将其传送到虚假站点,然后在该站点对其进行解密。这有可能发生吗?不是真的,但有可能,所以你描述的场景不能被认为是完全安全的,除非你完全控制你正在使用的网络(例如一个隔离的 Intranet)。
    • 我不确定这意味着什么。您也可以从“安全”https 站点发布到任何“虚假站点”。
    • 我不确定您的评论对我有什么意义。请详细说明。
    • “安全”站点的另一部分是使用受信任的证书。如果 https 站点有证书并且来自受信任的 CA,为什么它会尝试发布到“假站点”?
    【解决方案2】:

    如果用户可以验证站点 A 上没有运行脚本,则可以确保它是安全的。使其成为一种普遍不好的做法的原因是,它很容易受到中间活跃的人的攻击,他们更改表单目标或在站点 A 的上下文中插入恶意脚本以窃取密码并将其发送出去,然后再将其提交给(安全) 网站 B。

    【讨论】:

    • 窃取数据不需要脚本。代理可以更改表单 POST 的目的地。请参阅我的其他评论。
    • @Ray Henry:代理可以通过两种方式获取数据:更改表单的操作 URL(可以通过查看源代码轻松检测到),或者使用客户端脚本。我所说的没有脚本的意思是,如果您知道那里没有任何脚本,那么您只需检查表单的操作即可查看数据的去向
    • 最终用户不太可能查看页面源以查看是否有脚本或表单 POST 目标是否不是假的。我坚持我的回答,即登录页面(包含表单)应通过 https 传递,这将向用户显示该页面是安全的,并且主机是已知且受信任的。
    • 哦,我完全同意它应该通过 HTTPS 传递。我经常在 HTTP 登录页面上单击“登录”,以便在实际输入凭据之前将其传送到 HTTPS 站点。
    猜你喜欢
    • 2014-05-02
    • 2017-05-07
    • 2014-03-04
    • 1970-01-01
    • 2011-04-28
    • 2012-09-11
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多