点击劫持笔记
个人总结
参考:https://portswigger.net/web-security/clickjacking
- name: 个人总结
desc: 参考:https://portswigger.net/web-security/clickjacking
bgColor: '#F0DFB1'
textColor: 'green'
1
2
3
4
2
3
4
# 点击劫持笔记
# 1点击劫持基本知识
# 1、什么是点击劫持?
答案
点击劫持是一种基于界面的 Web 攻击,依赖于 HTML 中的iframe
标签,通过该标签引入一个恶意网页,并将其透明度设置为完全透明,然后 “叠” 在另一个精心设计的诱饵网页上。诱使用户点击诱饵网页中的按钮,但其实际上点击的是经过隐藏(完全透明,看不见)的按钮,隐藏的按钮将导致恶意操作。
# 2、点击劫持和CSRF的区别?
答案
- 区别一(是否需要用户交互):CSRF 不需要用户交互,点击劫持需要用户交互(例如单击按钮)。
- 区别二(攻击过程发生在何处):CSRF 攻击发生在用户会话层面,点击劫持攻击发生在隐藏的
iframe
中。
# 3、CSRF token可以防止点击劫持攻击吗?
答案
不能,点击劫持攻击会加载真实网站的内容,所有的请求都发生在恶意域上,CSRF token 会被作为请求的一部分传递给恶意服务器。这样一来,token 丧失了不可预测性。
# 2点击劫持攻击手段
# 1、如何快速生成一个点击劫持的载荷?
答案
使用 BurpSuite 的 Clickbandit (opens new window) 工具。
# 2、某个站点使用了iframe破坏技术,导致站点无法被框柱,如何绕过防护并框柱该网站?
答案
使用iframe
标签的sandbox
属性,将参数值设置为allow-scripts
或allow-forms
,同时参数值中不能包含allow-top-navigation
。
<!-- 正确示范 -->
<iframe src="http://<受损域>/" sandbox="allow-scripts"></iframe>
<iframe src="http://<受损域>/" sandbox="allow-forms"></iframe>
<!-- 错误示范,不能有 allow-top-navigation 值! -->
<iframe src="http://<受损域>/" sandbox="allow-scripts allow-top-navigation"></iframe>
1
2
3
4
5
6
2
3
4
5
6
# 3、高级点击劫持的运用
答案
就是实验室里的内容:
- 点击劫持 + XSS 组合拳。
- 多步点击劫持
# 3点击劫持防护
# 1、如何防御点击劫持攻击?
答案
建议使用 CSP(内容安全策略)来防范点击劫持攻击。你还可以将其与X-Frame-Options
标头结合使用,以在不支持 CSP 的旧浏览器(如 Internet Explorer)中提供保护。
X-Frame-Options: deny
:禁止在 iframe 中包含任何网页。X-Frame-Options: sameorigin
:只允许包含与当前网站 同源 的网页。X-Frame-Options: allow-from https://example.com
:只允许包含指定的网页。Content-Security-Policy: frame-ancestors 'none'
:完全禁止 iframe 标签的处理。Content-Security-Policy: frame-ancestors 'self'
:与 X-Frame-Options 中的 sameorigin 大致相同,只允许同源的网页。Content-Security-Policy: frame-ancestors https://example.com
:只允许包含指定的网页。
CSP 相当于X-Frame-Options
标头的升级版,CSP 将该标头的内容集成在了崭新的Content-Security-Policy
标头中。
编辑 (opens new window)