我有一个网站,通过https上的ajax调用完成用户登录。显然,请求包含密码。使用Firefox开发人员工具我注意到我可以检查来自我的页面的任何网络请求,包括请求正文......还有我的密码。我认为该请求是通过https加密的,但开发人员工具仍将其显示为纯文本。我错过了什么吗?如果用户登录公共计算机并忘记注销,则可以使用开发人员工具获取密码。提前感谢您提供的任何帮助。
-Mike
答案 0 :(得分:6)
一切都是按设计运作的 - 没有错。
浏览器的开发工具旨在允许用户检查页面中发生的所有事情 - 如果没有该功能,它们将毫无用处。开发工具的网络选项卡在加密之前显示HTTP数据。
在公共计算机方案中,请记住开发工具仅显示工具打开后发生的网络请求,因此攻击者无法在用户离开页面后打开开发工具并查看纯文本身份验证请求。
答案 1 :(得分:3)
我可以检查来自我的页面的任何网络请求,包括请求正文
不,你不能 - 那还不是网络流量 - 这是一个HTTP数据报,然后在到达TCP堆栈之前通过SSL层传递。
如果用户登录公共计算机并忘记注销,则可以使用开发人员工具获取密码
不,因为除非页面开发人员做了非常愚蠢的事情,否则浏览器不会存储信息 - 您只能看到它,因为您的浏览器被配置为拦截信息并临时存储它。但是,已经说过有很多东西可以导致浏览器存储身份验证令牌 - 自动完成和密码管理器一开始(后者的实现质量差异很大,前者几乎没有防止泄露的保护)。永远不应将身份验证令牌作为GET参数发送,因此不应该从浏览器历史记录中看到。