即使用了 https 也不要通过 query strings 传敏感数据

浏览:
字体:
发布时间:2017-10-26 18:11:09
来源:

本文由 东方联盟 - xiaoheike 翻译
英文出处:HttpWatch。欢迎加入翻译组。

服务器端的 log 将明文记下完整 url;浏览器上的访问历史也会明文记下完整 url;Referrer headers 里也忠实记下完整 url,然后在别人家的 Google Analytics 上显示。

我们经常听到的一个常见问题是:“URL 中的参数是否可以安全地传递到安全网站?”这个问题常常出现在客户看了 HttpWatch 捕获的 HTTPS 请求后,想知道还有谁可以看到这些数据。

 

例如,假设在一个查询中,使用如下安全的 URL 传递密码字符串:https://www.httpwatch.com/?password=mypassword

httpwatch_ssl

如果你使用网络嗅探器查看,例如 Network Monitor,对于同一个请求,你只能够查阅加密之后的数据。在数据包跟踪中没有可见的网址,标题或内容:

netmon_ssl

您可以信任 HTTPS 请求是安全的,只要:

  • 未忽略任何SSL证书警告
  • Web 服务器用于启动 SSL 连接的私钥在 Web 服务器本身之外不可用。

因此,在网络层面,URL 参数是安全的,但是还有一些其他基于 URL 泄漏数据的方法:

  1. URL 存储在 Web 服务器日志中–通常每个请求的完整 URL 都被存放在服务器日志中。这意味着 URL 中的任何敏感数据(例如密码)会以明文形式保存在服务器上。以下是使用查询字符串通过 HTTPS 发送密码时存储在 httpwatch.com 服务器日志中的条目: **2009-02-20 10:18:27 W3SVC4326 WWW 208.101.31.210 GET /Default.htm password=mypassword 443 … 通常认为即使是在服务器上,存储明文密码从来都不是好想法 2.URLs are stored in the browser history
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();