[ I promise to post something more interesting shortly - but in the
meantime, I wanted to drop a quick note about something kinda amusing.
]
There was a considerable amount of buzz around clickjacking [1] in the
past year or so. It is commonly believed that this simple attack can
only be realistically employed to exploit one-click UI actions. Alas,
a related vector is generally overlooked: JS focus semantics - a
source of considerable amount of grief in the past [2] - can be abused
to execute multi-step attacks by altering focus between a hidden frame
and the edited document while the user is simply typing something in.
No need for pixel-accurate positioning of the target, too.
Consider this whimsical proof-of-concept exploit (works on Windows,
WebKit-based browsers only):
http://lcamtuf.coredump.cx/focus-webkit/
It's not very serious, but more cuter than clickjacking proper. WebKit
focus behavior on Windows makes this particular PoC easier there, but
I believe that no browser is designed to counter this general attack
pattern in any particular way. The usual opt-in mitigations
(X-Frame-Options, frame busting) should offer a reasonable degree of
protection already.
[1] http://code.google.com/p/browsersec/wiki/Part2#Arbitrary_page_mashups_%2
8UI_redressing%29
[2] http://lcamtuf.coredump.cx/focusbug/ and so forth