1. 程式人生 > >點擊劫持(ClickJacking)

點擊劫持(ClickJacking)

其中 技術 from oss site 指定 true left 支持

點擊劫持

通過一種視覺上的欺騙手段,將用戶對頁面 A 的操作轉移到隱藏的頁面 B 上,以此達到讓用戶在不知情的情況下完成 B 頁面上的特定任務,達到非法目的。其中,可以轉移的操作有 “點擊”、“拖拽”、“滑動” 等。

技術分享

實現手法

iframe:

iframe {
    width: 900px;
    height: 250px;

    /* Use absolute positioning to line up update button with fake button */
    position: absolute;
    top: -195px;
    left: -740px;

    /* Hide from view */
    z-index: 2;
    -moz-opacity: 0.5;
    opacity: 0.5;
    filter: alpha(opacity=0.5);
}

通過控制 iframe 的長、寬,左、上的位置,可以把 iframe 頁面內的任意部分覆蓋到任何地方。同時設置 iframe 的 position 為 absolute,並將 z-index 的值設置為最大(iframe 處於頁面的最上層)。最後通過設置 opacity 來控制 iframe 頁面的透明度,0-1,0 表示完全透明。

CSIO(Cross Site Image Overlaying)

CSIO,跨站點圖片覆蓋通過調整圖片的 style 使得圖片能夠覆蓋在指定的位置,例如

<a href="http://disenchant.ch">

<img src="http://disenchant.ch/powered.jpg" style="position:absolute;right:320px;top:90px;"/>

</a>

當用戶點擊圖片時,實際訪問的不再是被覆蓋的頁面在該位置原有的那個鏈接。

防禦 ClickJacking

禁止跨域 iframe【frame busting,Not good】

X-Frame-Options:三個可選值(DENY、SAMEORIGIN、ALLOW-FROM origin),支持的瀏覽器有 IE 8+、Opera 10.50+、Safari 4+、Chrome 4.1.249.1042+、Firefox 3.6.9

點擊劫持(ClickJacking)