是否可以使用 Chrome DevTools 覆盖登录逻辑?

Posted

技术标签:

【中文标题】是否可以使用 Chrome DevTools 覆盖登录逻辑?【英文标题】:Is it possible to use Chrome DevTools to override login logic? 【发布时间】:2017-05-05 04:07:17 【问题描述】:

我使用以下项目作为应用程序登录身份验证逻辑的基础:https://github.com/cornflourblue/angular-authentication-example

当后端关闭时,我手动更改了前端以避免验证用户凭据以解决 $http 调用。

这让我想知道是否可以使用 Chrome DevToolsFirefox 的开发工具 来规避 $http 调用并让应用认为凭据已被接受。

到目前为止,Chrome 似乎仍在运行存储在其他地方且未使用的原始文件和任何更改的文件。但我无法仅在 Chrome DevTools 中重现该 hack,但我不是专家,我很好奇是否可能。

【问题讨论】:

您可以欺骗客户端应用程序。但是为了做任何有用的事情,它大概必须向服务器发送一些东西,服务器不应该被愚弄。 @Barmar 我同意。我相信后端有一些来自后端的登录尝试所需的验证。来自我们数据服务的大多数请求都要求身份验证数据位于请求标头中。 哈!虽然您可以在 Chrome 开发工具中做各种很酷的事情,但所有更改都保留在本地。如果更改实际生效/任何信息被泄露;这将意味着像网上银行这样的事情的终结! 【参考方案1】:

是的,可以更改客户端脚本并破解任何 javascript 代码...

这就是为什么有一个登录过程,其目的应该是为客户端分配有效的会话凭据,以便将每个请求提供给服务器,以便对其进行验证并采取相应的行动。

基本上,您的应用程序必须确保在建立有效会话之前不交换敏感信息,从而使任何客户端代码规避都过时

【讨论】:

以上是关于是否可以使用 Chrome DevTools 覆盖登录逻辑?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Selenium webdriver 运行时是不是可以使用 Chrome 的 devtools?

Chrome 扩展,获取 devtools HAR 数据

移动网站 CSS 在 devtools 中看起来与实际设备不同,我找不到覆盖

使用 Chrome Devtools 调试 CSS 动画

Chrome devtools 的源选项卡中的 Emmet?

可以过滤 chrome devtools 网络选项卡中记录的请求吗?