JavaScript 可以访问自动填充密码吗?
Can JavaScript access autofilled passwords?
可以 JavaScript 访问自动填充的密码,这是否存在安全风险?我知道存储的密码通常与域严格关联,但有时 Chrome 如果该域当前没有存储密码,则建议使用来自另一个网站的用户名和密码。
(我猜这可能因浏览器而异)
使用 javascript.
在本地存储密码绝对是可能的(也是可行的)
这是因为javascript本身就是一种面向客户的语言。
例如,如果您编写了一些 javascript 来更改输入字段的属性,例如 "type='password'" 改为 "type=''",那么密码将显示在用户浏览器上而不会被阻止斑点。
使用 javascript,您还可以获取密码字段提供的值,无论它是否被涂黑。
这并不是一个安全漏洞,因为它实际上只能在客户端计算机上使用,并且现代浏览器中内置的各种技术在保护此类内容方面做得很好。
这也是最好跟上最新的安全软件和补丁的原因。
举个例子。如果您在用户提交密码之前使用 localstorage.setitem() 的方式在他们的机器上存储用户密码,那么密码将以纯文本形式保留在他们的机器上。
但是,您也可以设计一个 Web 应用程序来通过 http 请求发送用户密码。
然而,在实践中,这很容易被用户看到,并且更有可能被多个来源标记(麻烦)。
Chrome 在两种情况下自动填充详细信息:
- 当明确告知要记住特定站点的凭据时
- 当它看到字段时,它认为它可以自动填充并且用户接受建议的值(这些值不会是密码)
虽然 JavaScript 可以读取这些字段,但如果没有用户的明确指示,它们将不会被填充。
这确实增加了风险级别,因为用户可能会不小心错误地确认数据,级别较低。
可以 JavaScript 访问自动填充的密码,这是否存在安全风险?我知道存储的密码通常与域严格关联,但有时 Chrome 如果该域当前没有存储密码,则建议使用来自另一个网站的用户名和密码。
(我猜这可能因浏览器而异)
使用 javascript.
在本地存储密码绝对是可能的(也是可行的)这是因为javascript本身就是一种面向客户的语言。
例如,如果您编写了一些 javascript 来更改输入字段的属性,例如 "type='password'" 改为 "type=''",那么密码将显示在用户浏览器上而不会被阻止斑点。
使用 javascript,您还可以获取密码字段提供的值,无论它是否被涂黑。
这并不是一个安全漏洞,因为它实际上只能在客户端计算机上使用,并且现代浏览器中内置的各种技术在保护此类内容方面做得很好。
这也是最好跟上最新的安全软件和补丁的原因。
举个例子。如果您在用户提交密码之前使用 localstorage.setitem() 的方式在他们的机器上存储用户密码,那么密码将以纯文本形式保留在他们的机器上。
但是,您也可以设计一个 Web 应用程序来通过 http 请求发送用户密码。
然而,在实践中,这很容易被用户看到,并且更有可能被多个来源标记(麻烦)。
Chrome 在两种情况下自动填充详细信息:
- 当明确告知要记住特定站点的凭据时
- 当它看到字段时,它认为它可以自动填充并且用户接受建议的值(这些值不会是密码)
虽然 JavaScript 可以读取这些字段,但如果没有用户的明确指示,它们将不会被填充。
这确实增加了风险级别,因为用户可能会不小心错误地确认数据,级别较低。