Javascript 密码管理器如何知道I';您成功登录了吗?

Javascript 密码管理器如何知道I';您成功登录了吗?,javascript,google-chrome,passwords,browser-extension,lastpass,Javascript,Google Chrome,Passwords,Browser Extension,Lastpass,您知道如何显示登录屏幕,然后填写它,然后浏览器加载下一页吗?此时,密码管理器栏会弹出LastPass、1Password或其他扩展名,询问您是否要保存密码。他们怎么知道你刚刚成功登录 表单有时会被提交,而js有时会截获表单提交并发送AJAX 响应返回并可能设置新的cookie,但有时会继续使用现有会话cookie(允许会话固定攻击,但某些实现会这样做) 加载或重新加载新位置,但有时javascript会重新加载文档的一部分 但不知怎的,这些密码管理器检测到我成功登录了一个站点!怎么用?是因为

您知道如何显示登录屏幕,然后填写它,然后浏览器加载下一页吗?此时,密码管理器栏会弹出LastPass、1Password或其他扩展名,询问您是否要保存密码。他们怎么知道你刚刚成功登录

  • 表单有时会被提交,而js有时会截获表单提交并发送AJAX
  • 响应返回并可能设置新的cookie,但有时会继续使用现有会话cookie(允许会话固定攻击,但某些实现会这样做)
  • 加载或重新加载新位置,但有时javascript会重新加载文档的一部分
但不知怎的,这些密码管理器检测到我成功登录了一个站点!怎么用?是因为我在密码字段中输入了一些内容,然后提交了一些表单还是发送了一些网络请求?但他们怎么知道这是成功的呢

熟悉这些密码管理器的人能提供一些有用的信息吗

我问这个问题的原因是,我想开发一个扩展,它可以检测您何时登录,并以某种方式尝试从服务中提取您的用户id。它是为了自动与朋友共享您的用户id,并让他们知道(在您允许的情况下)您经常使用哪些网站


任何关于提取服务上登录用户id的技术提示也会很有帮助。

在大多数情况下,他们实际上并不知道成功登录。他们知道提交了带有密码字段的表单,响应是
200OK
。这可能仍然是显示错误消息的页面


至于提取用户ID,我很确定你指的是个人资料页面或类似的东西。这将必须逐个站点进行,因为站点将有自己的API和路由结构

有人已经回答了这个问题,我同意他的看法


在大多数情况下,他们实际上并不知道登录成功。他们是 注意到已提交带有密码字段的表单,并且响应 是200OK。这可能仍然是显示错误消息的页面


由于浏览器监视包含密码字段的请求,以及请求的响应状态代码,但您仍然可以轻松地愚弄浏览器。要了解登录的用户ID,您肯定需要后端支持/api。这取决于后端使用的身份验证框架。但是您可以很容易地获取表单字段,但是从表单字段中提取/查找userid是一项非常困难的任务,在大多数情况下,表单中只有两个字段,您可以设法获取userid。但在某些情况下,比如银行网站,他们会发送一些虚拟字段,并愚弄这些工具。在某些情况下,userid与电子邮件不同,因此这是一项困难的任务。

他们只检测表单是否已提交,并返回代码200(确定)。他们不一定知道你是否登录过,但这种方法适用于大多数网站。他们还可能检测到之后是否加载了新页面,因为失败的登录通常不会重定向用户。但是,我以前收到过保存错误密码的提示。

他们可以检测到您当前的选项卡。以及该页面的每个HTML元素。 我们可以向他们提供登录页面案例列表,以检测诸如 登录名,用户名,忘记密码。并检查所有关键字,以确定这是登录页面

他们只是准备页面,甚至他们可以读取您的密码(是的)


如果您从该页面发出请求&响应为200 OK,则表示您的密码正确。

无论何时使用用户名和密码请求服务器,服务器都会将这两个条目检查到其数据库中,服务器将找到您的数据,它将返回响应代码200,并使用AJAX成功回调脚本捕获响应代码并将显示成功消息


还可以返回一些类型的信息,这些信息可以存储在浏览器的localStorage或cookie中以供进一步使用。

我已经创建了两页静态HTML和表单:因此,当表单提交时,它会转到第二页

让我们测试一下

<form action="test1.html">    
<input type="text" />
<input type="password" />    
<input type="submit" />    
</form>

</body>

Chrome不介意发生任何事情。虽然firefox提供了一个弹出窗口来保存密码,即使表单被提交到错误页面

所以firefox只会查找带有密码字段的表单,并请求保存密码弹出框


如果您想创建一个扩展,它可以检查用户是否成功登录,然后您想请求密码记住弹出窗口。为此,您必须检查服务器响应。我无法创建动态页面来用浏览器示例进行校对。

wow。。百分之一百的奖金都是因为你不知道如何使用谷歌。。。可耻的是,你曾在用户名中与一只熊摔跤。我怀疑这只熊是否认为这是摔跤。勒芒打得很好,格雷戈里,打得很好