文章目录
前言
前几天,一个偶然的机会看到了一个关于点击劫持的技术分享视频,今天通过再次观看和查阅相关资料,学习了该部分的内容。首先在这里也感谢各位分享点击劫持技术的大神
温馨提示:该技术博文仅用于学习和技术分享,不得用于其他非法用途,否则后果自负
点击劫持
- 点击劫持 (Clickjacking) 技术又称为界面伪装攻击 (UI redress attack ),是一种视觉上的欺骗手段
分类
- iframe覆盖
- 图片覆盖
iframe覆盖
原理
- 攻击者使用一个或多个透明的 iframe 覆盖在一个正常的网页上,然后诱使用户在该网页上进行操作,当用户在不知情的情况下点击透明的 iframe 页面时,用户的操作已经被劫持到攻击者事先设计好的恶意按钮或链接上。攻击者既可以通过点击劫持设计一个独立的恶意网站,执行钓鱼攻击等;也可以与 XSS 和 CSRF 攻击相结合,突破传统的防御措施,提升漏洞的危害程度
相关技术
- 目标网页隐藏技术
- 点击操作劫持
- 拖拽技术
运用
结合CSRF
通过将载入目标网页 iframe 中 token 自动添加到 src 属性后面。使用HTTP 中GET方法的表单会自动完成上述步骤,实现攻击
例:Twitter 蠕虫攻击就是利用点击劫持漏洞来实现CSRF攻击。
结合XSS
通过XSS漏洞弹出弹框,诱导用户点击触发点击劫持,浏览器执行恶意的js代码,故此将会产生极大的危害
示例代码
<!DOCTYPE HTML>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head>
<title>点击劫持</title>
<style>
html,body,iframe{
display: block;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
border:none;
}
iframe{
opacity:0;
filter:alpha(opacity=0);
position:absolute;
z-index:2;
}
button{
position:absolute;
top: 315px;
left: 462px;
z-index: 1;
width: 72px;
height: 26px;
}
</style>
</head>
<body>
那些不能说的秘密
<button>查看详细</button>
<iframe src="https://blog.csdn.net/Yoo_666/article/details/107575943"></iframe>
</body>
</html>
防御方法
X-FRAME-OPTIONS机制
DENY:浏览器会拒绝当前页面加载任何frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM origin:允许frame加载的页面地址