访问针对 iframe 的击键?

信息安全 网页浏览器
2021-08-21 12:16:26

所以我从 entropay.com 制作了一张虚拟信用卡,当我决定用我现有的借记卡充值时。它在框架。通常,当我使用借记卡时,商家会在新标签/窗口中打开页面,然后我输入密码,然后将我带到付款确认页面。现在,当我在不同的窗口/选项卡中输入密码时,其他选项卡无法访问我的击键,因此他们无法知道我的密码,但我不确定 iframe 是否如此。如果我在 iframe 中输入数据,因为父窗口仍然是焦点,它是否能够记录我的击键/剪贴板数据?

如果这不是问这个问题的正确地方,我深表歉意。那样的话,能不能给我指一个更合适的地方。

2个回答

如果我在 iframe 中输入数据,因为父窗口仍然是焦点,它是否能够记录我的击键

有点。由于同源策略,父窗口不能干扰 iframe 本身中的关键事件,但是有各种点击劫持攻击允许它破坏该界面。一个明显的问题是,它可以将自己的输入框覆盖在 iframe 界面的顶部,与真正的 VbV 密码框所在的位置相同。

在更基本的层面上,父窗口可以完全欺骗框架的内容——要么从头开始提供自己的网络钓鱼界面,要么对来自颁发者的身份验证服务器 (ACS) 的内容进行中间人操作。由于没有浏览器指示器告诉您 iframe 来自哪个站点,因此您无法判断您是在与您的银行交谈。

这样做的结果是,在基于 iframe 的 3-D 安全模型中,您绝对必须信任商家。恶意商家和网站受到攻击(例如 XSS)的商家不是 3-D Secure 试图防御的威胁模型的一部分。

如今,在新页面或弹出窗口中打开 3-D Secure 的情况非常罕见。弹出模型几年前已被 Visa 弃用,并且重定向模型不受商家青睐,因为它将用户带出商家的 UI。

那么IFrames不会有太大帮助。这是因为键盘记录器通常在硬件、内核或 API 级别工作。例如,在 API 级别,有像 GetAsyncKeyState 这样的函数,它会随时告诉您是否按下了某个键。有很多技巧,这只是一个例子。