Security 如果您使用HTTPS,您的URL参数将不会被嗅探到吗?

Security 如果您使用HTTPS,您的URL参数将不会被嗅探到吗?,security,apache,url,https,Security,Apache,Url,Https,假设我设置了一个简单的PHPWeb服务器,其中有一个可以通过HTTPS访问的页面。URL有简单的参数,如https://www.example.com/test?abc=123 在这种情况下,这里的参数对嗅探数据包的人来说是安全的,这是真的吗?如果服务器不使用任何SSL证书,这会是真的吗?取决于您所说的“安全”是什么意思 SSL加密整个HTTP请求/响应,因此GET部分中的URL将被加密。这并不能阻止MITM攻击和SSL会话本身完整性的破坏。如果使用非权威证书,这会使潜在的攻击向量更简单 这是

假设我设置了一个简单的PHPWeb服务器,其中有一个可以通过HTTPS访问的页面。URL有简单的参数,如
https://www.example.com/test?abc=123


在这种情况下,这里的参数对嗅探数据包的人来说是安全的,这是真的吗?如果服务器不使用任何SSL证书,这会是真的吗?

取决于您所说的“安全”是什么意思

SSL加密整个HTTP请求/响应,因此GET部分中的URL将被加密。这并不能阻止MITM攻击和SSL会话本身完整性的破坏。如果使用非权威证书,这会使潜在的攻击向量更简单

这是一个类似的问题。

HTTPS建立了一个底层SSL 在创建任何HTTP数据之前进行连接 转移。这确保了所有URL 数据(主机名除外, 用于建立 连接)仅在 这是一个加密的连接,并且 防止中间有人 以与任何HTTPS相同的方式进行攻击 数据是

一个数据库中的所有HTTP级别事务 HTTPS连接在内部进行 已建立的SSL会话,并且没有 查询数据在 已建立安全连接

从外部看,唯一的数据是 主机名对世界可见 和您要连接的端口。 其他的一切都只是一股流 使用 私钥仅在您之间共享 和服务器

在示例中,您提供了 浏览器将执行以下操作:

  • 衍生 主机名(和端口,如果存在) 从URL
  • 连接到主机
  • 检查证书(必须是“已签名的” 由一个已知的权威机构专门应用 要更正IP地址和端口,请执行以下操作: 当前)
  • 浏览器和服务器 交换加密数据和 浏览器接收私钥
  • 发出HTTP请求,并使用 建立了密码学
  • 收到HTTP响应。也加密了 HTTP是一个“应用层” 协议它被放在箱子的顶部 安全层。根据SSL协议 由Netscape起草的规范, 它规定没有应用程序层 数据可以传输,直到安全传输 连接已建立-作为 在以下段落中概述:

    “此时,需要更改密码规范 消息由客户端发送,而 客户端复制挂起的密码规范 进入当前的密码规范 然后,客户端立即发送 已在新文件夹下完成消息 算法、密钥和秘密 响应时,服务器将发送自己的 更改密码规范消息,传输 当前密码的挂起状态 并发送其完成的消息 根据新的密码规范,现在 点,握手是完整的,而且 客户端和服务器可能会开始 交换应用层数据。”

    所以是的URL中包含的数据 无法查询HTTPS连接 加密的。但是它非常差 将此类敏感信息包括在内的做法 数据作为“GET”中的密码 要求虽然它不可能 如果被拦截,数据将被记录 在服务器上的明文服务器日志中 接收HTTPS服务器,并且 也可能在浏览器历史记录中。信息技术 可能也可用于浏览器 插件甚至可能是其他插件 客户端计算机上的应用程序。 最多可以使用HTTPS URL 合理地允许包括 会话ID或类似的不可重用 变量它不应该包含 静态身份验证令牌

    HTTP连接概念是最重要的 这里解释得很清楚:

    请求的URI(/test?abc=123)作为HTTP请求头的一部分发送到web服务器,并因此进行加密

    然而,URL可能以其他方式泄漏,通常是web浏览器工具栏、书签和向朋友发送链接。根据您发送的数据的上下文/敏感性,发布数据可能更合适

    我相信HTTPS连接需要一个SSL证书,如果你不想买的话,甚至是一个自己生成的证书


    希望对你有所帮助

    url:s将存储在服务器日志和浏览器历史记录中,因此即使它们不可嗅探,也远不安全。

    是的,您的url不会被嗅探;然而,一个容易被忽视的漏洞是,如果你的页面引用了任何第三方资源,如谷歌分析,添加内容或其他任何内容,你的整个URL将被发送到引用者中的第三方。如果它真的很敏感,那么它不属于查询字符串


    至于问题的第二部分,如果服务器上没有证书,就不能使用SSL

    在电线上,是的。在端点(浏览器和服务器)不一定。SSL/TLS是。它将加密浏览器和服务器之间的通信。可以在浏览器端查看数据(例如a)。一旦它到达服务器端,它当然对接收者是可用的,并且只有在他对待它时才是安全的。如果数据需要安全地移动到初始交换之外,并且不被窥视到客户端,那么您还应该查看。

    SSL/TSL是一种传输层安全,是的,可以使用BHO(如@JP所述)或任何附加组件拾取数据,但也可以使用“浏览器外”HTTP嗅探器。它们读取winsock32和应用程序之间的消息。加密在Win32中进行,而不是在浏览器中

    看一看(这部分摘自IEinspector页面):
    HTTP Analyzer是一个非常方便的工具,它允许您实时监视、跟踪、调试和分析HTTP/HTTPS流量。

    为什么要投否决票?您的URL作为参考发送到