53i*_*ott 7 security encryption dns url https
我google了很多,很多答案都是肯定的.例如:GET数据是否也在HTTPS中加密? 但我们公司的高级安全工程师告诉我,URL不会被加密.
图像,如果URL已加密,DNS服务器如何找到主机并连接?
我认为这是非常强大的观点,尽管它反对大多数答案.所以我真的很困惑,我的问题是:
我尝试访问https://www.amazon.com/gp/css/homepage.html/ref=ya_surl_youracct,我的IE向服务器发送了两个请求:
第一:
CONNECT www.amazon.com:443 HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: www.amazon.com
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Run Code Online (Sandbox Code Playgroud)
第二:
GET /gp/css/homepage.html/ref=ya_surl_youracct HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US,zh-CN;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: www.amazon.com
DNT: 1
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)
我的浏览器似乎已经请求了两次:第一次是与主机建立连接(没有加密),第二次是通过https发送加密请求?我对吗?如果我正确理解这一点,当客户端使用https调用RESTFUL API时,它每次都会发送两次请求(连接和获取/发布)?
irc*_*ell 11
该URL IS从离开浏览器,直到它击中目标服务器的时间进行加密.
会发生什么是浏览器从URL中提取域名和端口,并使用它来解析DNS本身.然后它启动加密通道到目标服务器IP:端口.然后它通过该加密通道发送HTTP请求.
重要的部分是任何人,但您和目标服务器只能看到您正在连接到特定的IP地址和端口.他们无法说出任何其他信息(如特定的URL,GET参数等).
在大多数情况下,攻击者甚至无法看到域名(尽管如果实际上有DNS查找,他们可以推断出它 - 如果它没有被缓存).
需要了解的重要一点是,DNS(域名服务)是一种完全不同的服务,具有与HTTP不同的协议.浏览器发出DNS查询请求以将域名转换为IP地址.然后它使用该IP地址发出HTTP请求.
但DNS服务器在任何时候都没有收到HTTP请求,除了为用户提供域名 - IP映射之外,它实际上什么都不做.
虽然其他响应是正确的,但除了浏览器和服务器之间的加密之外,还有许多其他考虑因素.以下是一些需要考虑的事情......
CONNECT你在你的例子中看到的.如果这就是全部,那么你就完成了.没问题.
但等等,还有更多!
在......中显示字段GET而不是POST显示敏感数据时......
GET请求会将数据泄露给使用该设备的其他人.正如我所提到的,我有时会在博客的引荐来源日志中找到ID,密码和其他敏感信息.在我的情况下,我联系推荐网站的所有者并告诉他们他们正在暴露他们的用户黑客攻击.一个不太谨慎的人会在网站上添加评论或更新,并提供指向他们自己网站的链接,目的是在他们的引荐来源日志中收集敏感数据.
因此,贵公司的高级安全工程师是正确的,URL在许多地方都没有加密,因为这样做非常重要.您和其他受访者也是正确的,它是在浏览器的非常狭窄的用例中加密的,在TLS会话的上下文中与服务器通信.您提到的混淆可能与这两个用例范围的差异有关.
请参阅:
POST此页面上一遍又一遍地重复"始终使用".)| 归档时间: |
|
| 查看次数: |
4586 次 |
| 最近记录: |