点击劫持(Clickjacking) 技术又称为
界面伪装攻击(UI redress attack),
是一种将恶意程序隐藏在看似正常的网页中,
并诱使使用者在不知情情况下点击的手段。
使用者被诱使点击种下恶意程序的连结时,
该连结上其实覆盖了一个隐藏的 <iframe>
,
点击该连结时,实际上是点选了隐藏的 <iframe>
,
如果 <iframe>
内容是个 facebook 的「赞」按钮,
用户点到连结时,实际上是操作的是 facebook 的介面。
如 Twitter、Facebook 和 Paypal 等网站上,
都曾经发生过此种攻击。
因键盘操作要重新定向较复杂,此类攻击基本上仅影响点击(滑鼠或手机上的)行为。
在 HTTP Header 加入 X-Frame-Options 属性,
允许或禁止网页载入 <frame>
与 <iframe>
。
副作用是其他正常的网站
也无法在 frame 中显示被禁用 frame 的网页。
X-Frame-Options 有三种类型:
samesite cookie
的特性
也可以阻止点击劫持攻击。
具有 samesite
特性的 cookie
仅能在网页通过直接方式打开时发送,
而不能透过 frame 或其他方式下发送给网站。
如下当网站在其身分验证 cookie 中
具有 samesite
特性时
Set-Cookie: authorization=secret; samesite
那当它在另一个网站中的 iframe 被打开时,
此类 cookie 将不会被发送,攻击也就无法成功。
这种方法可以让其他网站
轻松地在 iframe 中显示原本就公开、
无需进行身分认证的页面。
但 Samesite cookie 仅能防止使用 cookie 的攻击,
如果像是通过检查 IP 地址来防止重复投票的网站,
仍然会受到点击劫持攻击,
因为它并不使用 cookie 来进行身分认证。
<<: [Day 28] 实作 Multi-Channel Notifications
Day14-15 一共会介绍 Ruby的2类、4种继承方式。 在Day2 我们提到 Ruby 为单一...
今天听着讲座,刚好很幸运的解决了两问题。 第一个是三节的内容,呈现了讲稿式的,经验式的,互动式三种模...
什麽是网站推播通知 推播通知不管对 App 或是网站来说都是一种重新吸引用户来使用 App 的方法,...
Axios 是一个 Promise based 的HTTP 请求工具。 那 Promise base...
T0843 Program Download 攻击者可能透过程序下载已将使用者的程序码传输到控制器中...