假设有客户端和服务器。假设客户端通过a)SSL和b)TLS发送HTTP GET请求GET /?secret=mysecret
或GET /?token=mytoken
。
SSL据我所知,在发送请求详细信息之前,连接是加密的,而TLS据我所知,发送了未加密的请求,然后建立了加密(可能没有)。
编辑:以下是我的混淆来自的一个例子:https://security.stackexchange.com/questions/5126/whats-the-difference-between-ssl-tls-and-https接受答案的第一个评论。
使令人困惑的完美:SSL(安全套接字层)通常是指旧协议变体,它立即以握手开始,因此需要另一个端口用于加密协议,例如443而不是80. TLS(传输层安全性) )经常引用新变体,它允许以未加密的传统协议开始,然后发出命令(通常是STARTTLS)来初始化握手。
这就是我提问的根本原因。
无论如何我的问题是:
如果客户端通过a)SSL发送HTTP请求,并且b)TLS可以通过MITM攻击拦截请求URI,也就是拦截器能够看到请求URI吗?
让我重新解释一下这个问题: 是否使用a)SSL和b)TLS或加密后发送HTTP请求?
答案 0 :(得分:1)
如果它的SSL / TLS被加密,没有机构可以看到请求。这种方法的问题是请求在浏览器中很明显。如果有人将该网站加入书签,则该秘密将以纯文本形式存储。
答案 1 :(得分:1)
构建第一个SSL / TLS通道,然后发送请求。因此,URL以及任何其他请求标头都是加密发送的。
正如所指出的那样,在URL中传递秘密是不好的,因为秘密会到达可以收集它的书签以及服务器日志(这可能是不受欢迎的)。