silly PoCs continue: X-Frame-Options give you less than expected

From: Michal Zalewski <>
To: bugtraq <>
Subject: silly PoCs continue: X-Frame-Options give you less than expected

[ Resubmitting - I think the original post did not go through last
week, but some of the responses did, so probably an accident. ]


I think we greatly underappreciate the extent to which JavaScript
allows you to exploit the limits of human perception. On modern
high-performance systems, windows can be opened, positioned, and
closed; and documents loaded and then navigated away from; so quickly
that we can't even reliably notice that, let alone react consciously.

The PoC I posted here earlier this week
( demonstrates one example of page
transitions occurring so fast that you don't register it; and some of
my earlier posts outlined the exploitation of page switching to
exploit browser UIs (e.g. Today,
I wanted to share this brief demonstration of an attack that should
hopefully illustrate why our current way of thinking about
clickjacking (and the possible defenses, such as X-Frame-Options) is

The basic idea here is that instead of placing the UI you want to
tamper with in an invisible or only partly-visible <iframe>, you can
achieve a similar effect simply by predicting the time of a
premeditated click (which is fairly easy if you look at mouse velocity
and distance to the expected destination), and then either destroying
the current window, or navigating to a different document (in this
case, a cheesy banking site).

While everything about this exploit is extremely goofy, and I put no
effort into making the transitions less obvious, it should still
demonstrate the issue neatly.


Copyright © 1995-2021 All rights reserved.