Clickjacking?

  このエントリをはてなブックマークに登録  この記事をクリップ!  newsing it!  Buzzurlにブックマーク  Save This Page to del.icio.us  このエントリをニフティクリップに登録  2008/9/26-1

本家Slashdotで「Alarm Raised For "Clickjacking" Browser Exploit」という記事がありました。 Zdnet上の「Clickjacking: Researchers raise alert for scary new cross-browser exploit」という記事を話題にしたものです。

Zdnetでの記事は、OWASP NYC AppSec 2008 Conferenceで発表されるはずだった「Clickjacking」という脆弱性についてでした。 「Clickjacking」は結局発表されずに、ベンダが対策を出来る期間をあけるということでした。 Clickjackingは、IE、Firefox、Safari、Opera、Adobe Flashなど多くのブラウザで実現可能であり、かつJavaScriptとは関係がない技術ということらしいです。 しかし、実際には内容が公開されていないため、何かFUDっぽい伝わり方になっています。

まあ、実際にClickjackingが何かは発表されてみないとわからないのですが、本家スラドのスレッドにて「これじゃね?」という書き込みがあり、CSSだけを使ってonclickを実現する方法が紹介されていました(BonRouge : CSS onclick)。 これなんですかね? ちょっと調べてみました。

CSS onclickの仕組み

JavaScriptを全く使わず、CSSのみでクリック処理をしてしまうサンプルです。 「BonRouge : CSS onclick」で示されているサンプルを説明のために削ってみました。

このサンプルの肝は3つあります。

  • CSSにてa spanがdisplay:noneになっているところ
  • CSSにてa:active spanがdisplay:blockになっているところ
  • HTMLにてa hrefが#nに向いているところ(a:activeが持続する)

下記サンプルでは、LIでリストされているリンクをクリックすると右側に文字が表示されます。 結果的に、CSSのみでのクリック処理になります。

サンプルコード


<HTML>

<HEAD>

<STYLE TYPE="text/css">
<!--
#cssonclickswitch a:active,
#cssonclickswitch a:focus {
color:#fff;
background-color:red;
}
#cssonclickswitch a span {display: none;}
#cssonclickswitch a:active span,
#cssonclickswitch a:focus span {
display: block;
position: absolute;
top: 0;
left: 170px;
width: 50px;
color:black;
}

-->
</STYLE>

</HEAD>

<BODY>

<ul id="cssonclickswitch" class="cfix">
<li><a href="#n">A<span>AAAA</span></a></li>
<li><a href="#n">B<span>BBBB</span></a></li>
<li><a href="#n">C<span>CCCC</span></a></li>
</ul>

</BODY>
</HTML>


これを応用してリンク内容が変更できるのか?

これを応用して、本来あるリンクの上にCSSを使って別リンクをオーバーレイできるのかな?と思って試してみましたが駄目でした。 このCSS onclickの手法はaの中のspan部分だけ表示/非表示にするのがポイントですが、spanの中にaを入れようと思うと、aの中にaが入ってしまい、結果としてspanによる非表示ができなくなってしまいました。

失敗している残念なサンプルコード

Clickjackingって何なのでしょうか? 気になって夜も眠れなくなりそうな今日この頃です。

  このエントリをはてなブックマークに登録  この記事をクリップ!  newsing it!  Buzzurlにブックマーク  Save This Page to del.icio.us  このエントリをニフティクリップに登録 



トラックバックURL : http://www.geekpage.jp/cgi-bin/tb.cgi?id=2008/9/26/1


お名前
画像の中に表示されている文字を入力してください
「かくにん」を漢字変換したものを入力して下さい。1文字目が「たしかめる」で2文字目が「みとめる」です。 :
コメント

コメントは確認後反映されます。あらかじめご了承下さい。


カスタム検索




はてなRSSに追加
Subscribe with livedoor Reader
Subscribe with Bloglines
Add to goo

外部サイト

プレコ王国
ディスカス魂
金魚タイムズ
YouTubeチャネル
Twitter
mixi(ほぼ未使用)


フィードメーター - Geekなぺーじ にほんブログ村 IT技術ブログへ
Copyright (C) Geekなページ.
All rights reserved. 無断転載や無断コピーなど、私的利用の範囲を逸脱した利用はおやめ下さい.