點擊劫持(ClickJacking)
阿新 • • 發佈:2017-05-11
其中 技術 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)