假设我设置了一个简单的php web服务器,其中包含一个可以通过HTTPS访问的页面。该网址包含简单的参数,例如https://www.example.com/test?abc=123
。
在这种情况下,这里的参数对于嗅探数据包的人来说是否安全?如果服务器不使用任何SSL证书,那会是真的吗?
答案 0 :(得分:69)
是的,您的网址可以安全地嗅探;但是,一个容易被忽视的漏洞是,如果您的页面引用了任何第三方资源,例如Google Analytics,添加任何内容,那么您的整个网址将被发送给参与者中的第三方。如果它真的很敏感,它不属于查询字符串。
至于问题的第二部分,如果服务器上没有证书,则无法使用SSL。
答案 1 :(得分:54)
http://answers.google.com/answers/threadview/id/758002.html
HTTPS建立基础SSL 任何HTTP数据之前的连接 转移。这确保了所有URL 数据(主机名除外) 用来建立 连接)仅在其中进行 这个加密的连接,是 免受中间人的影响 攻击的方式与任何HTTPS相同 数据是。
一个中的所有HTTP级事务 HTTPS连接在其中进行 已建立的SSL会话,没有 查询数据在传输之前传输 建立安全连接。
从外面看唯一的数据 世界上可见的是主机名 和你要连接的端口。 其他一切都只是一个流 使用a加密的二进制数据 私钥仅在您之间共享 和服务器。
在示例中,您提供了 浏览器会这样做:
- 导出 主机名(和端口,如果存在) 来自URL。
- 连接主机。
- 检查证书(必须'签名' 由一个已知的权威机构,具体应用 纠正IP地址和端口,并且 当前)。
- 浏览器和服务器 交换密码数据和 浏览器收到私钥。
- 的 发出HTTP请求,并使用加密 建立密码学。
- 收到HTTP响应。也加密了。
醇>HTTP是'应用层' 协议。它是在最重要的 安全层。根据SSL 规范,由Netscape制定, 它决定了没有应用层 数据可以传输直到安全 建立连接 - 如 在以下段落中概述:
“此时,更改密码规范 消息由客户端发送,并且 客户端复制挂起的密码规范 进入当前的密码规范。该 然后客户端立即发送 在新的下完成了消息 算法,密钥和秘密。在 响应,服务器将自己发送 更改密码规范消息,转移 等待当前的密码 Spec,并发送完成的消息 根据新的密码规范。在这 点,握手完成了 客户端和服务器可能会开始 交换应用层数据。“ http://wp.netscape.com/eng/ssl3/draft302.txt
是的。 网址中包含的数据 查询HTTPS连接是 加密即可。但是 非常差 练习包括这样的敏感 数据作为'GET'中的密码 请求。虽然它不可能 拦截后,将记录数据 在明文服务器日志上 接收HTTPS服务器,相当 也可能在浏览器历史记录中。它 可能也可用于浏览器 插件甚至可能是其他插件 客户端计算机上的应用程序 最多可以是HTTPS URL 合理地允许包括一个 会话ID或类似的不可重用 变量。它永远不应该包含 静态身份验证令牌。
HTTP连接概念最多 在这里清楚地解释 http://www.ourshop.com/resources/ssl_step1.html
答案 2 :(得分:7)
请求的URI(/ test?abc = 123)作为HTTP请求标头的一部分发送到Web服务器,因此被加密。
但是,URL可能会以其他方式泄露,通常是网页浏览器工具栏,书签和发送给朋友的链接。根据您发送的数据的上下文/敏感度,发布数据可能更合适。
我认为HTTPS连接需要SSL证书,如果您不想购买,也需要自行生成证书。
希望有所帮助!
答案 3 :(得分:5)
取决于您的安全含义
SSL加密整个HTTP请求/响应,因此GET部分中的URL将被加密。这不会阻止MITM攻击和SSL会话本身完整性的破坏。如果使用非权威证书,则可以使潜在的攻击向量更简单。
Are REST request headers encrypted by SSL?
是一个类似的问题。
答案 4 :(得分:3)
url:s将存储在服务器日志和浏览器历史记录中,因此即使它们不能被嗅探,也远非安全。
答案 5 :(得分:1)
在线上,是的。在终点(浏览器和服务器)不一定。 SSL / TLS为transport layer security。它将加密浏览器和服务器之间的流量。浏览器端可以查看数据(例如BHO)。一旦它到达服务器端,它当然可供接收者使用,并且只有他对待它时才安全。如果数据需要安全地移动到初始交换之外并且不受客户端的窥探,您还应该查看message layer security。
答案 6 :(得分:1)
SSL / TSL是传输层安全性,是的,可以使用BHO(如@JP编写)或任何添加,但也可以使用“浏览器外”HTTP嗅探器来选择数据。他们读取winsock32和应用程序之间的消息。加密发生在winsock32而不是浏览器中。
看一下(这部分是从IEinspector的页面中删除的): IEInspector HTTP Analyzer是一个非常方便的工具,可让您实时监控,跟踪,调试和分析HTTP / HTTPS 流量。