美文网首页
关于前端页面测试和抵御 clickjacking attack

关于前端页面测试和抵御 clickjacking attack

作者: 华山令狐冲 | 来源:发表于2022-03-26 09:03 被阅读0次

点击劫持(clickjacking)是一种欺骗用户的攻击,当他们实际点击另一件事时,他们认为他们正在点击另一件事。 它的另一个名称,用户界面 (UI) 修正,更好地描述了正在发生的事情。 用户以为他们使用的是网页的普通 UI,但实际上有一个隐藏的 UI 在控制; 换句话说,UI 已被修复。 当用户点击他们认为安全的东西时,隐藏的 UI 会执行不同的操作。

由于 HTML 框架 (iframe) 能够通过框架在其他网页中显示网页,因此攻击成为可能。 如果网页允许自己在框架内显示,攻击者可以用隐藏的透明层覆盖原始网页,并使用自己的 JavaScript 和 UI 元素。 然后,攻击者诱骗用户访问恶意页面,该页面看起来就像用户知道并信任的站点。 没有迹象表明原始站点上有隐藏的 UI。 用户单击链接或按钮,期望原始站点执行特定操作,然后攻击者的脚本运行。 但是攻击者的脚本也可以执行预期的操作,让它看起来没有出错。

我们可以使用下面这个工具网站来检测自己的网站是否存在被 clickjacking 攻击的漏洞。

https://clickjacker.io/

只需要把自己的网站 url,填入输入框,即可检测:

我本地开发的网站,使用 localhost 运行,当然没办法被这个工具网站扫描,所以我把它们发布到阿里云上,通过后者的公网 ip 地址进行访问。

首先使用 pm2 list 查看阿里云服务器上运行的服务器进程:

使用 pm2 stop all 停掉所有的进程:

meta 元素中设置 X-Frame-Options 是没有用的! 例如, meta http-equiv="X-Frame-Options" content="deny" 没有效果。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

X-Frame-Options 仅通过设置 HTTP 标头起作用,如下例所示。

const frameguard = require('frameguard');
app.use(frameguard({ action: 'SAMEORIGIN' }));

上面的代码效果如下:


使用本文开头提到的工具网站进行扫描:

上面的代码生效了,现在的输出是:

it is safe from clickjacking attack.

另一个指令:CSP: frame-ancestors,同样不支持在 meta 元素里定义:

var express = require('express');
var app = express();

app.use(function(req, res, next) {
    res.setHeader("Content-Security-Policy", "script-src 'self'");
    return next();
});

https://stackoverflow.com/questions/21048252/nodejs-where-exactly-can-i-put-the-content-security-policy

上述代码的作用,让工具网站的检查重新显示绿灯:

相关文章

  • 关于前端页面测试和抵御 clickjacking attack

    点击劫持(clickjacking)是一种欺骗用户的攻击,当他们实际点击另一件事时,他们认为他们正在点击另一件事。...

  • ClickJacking Attack

    点击劫持利用 基本利用原理:主要是利用web页面的html+css来进行实现,通过将真正的网站降低透明度等方法,在...

  • 前端测试Puppeteer试用

    前端测试主要包括界面功能测试、页面的浏览器兼容性和页面性能稳定性测试等内容。同时,前端自动化测试作为持续集成的主要...

  • 关于前端页面测试那些事

    关于函数测试,比如有一些固定的输入输出,可以使用mocha来进行测试,参考 Mocha测试基本使用。关于页面功能的...

  • 前端web页面链接回归测试

    前端web页面链接回归测试 概述 项目测试过程中会进行页面的回归测试,但是对于页面比较多,尤其是页面内链接比较多的...

  • 2018-12-03jemter介绍

    为什么要做接口测试 1.服务器和前端数据交互是通过接口进行的,前端页面进行操作,测试的数据都没法保存,如果需要回归...

  • 【网络安全】如何利用工具发现内部或外部网络攻击面

    关于Attack-Surface-Framework Attack-Surface-Framework(简称ASF...

  • OWASP ZAP安全测试

    工具介绍 OWASP Zed attack proxy 是一款 web application 集成渗透测试和漏洞...

  • 2018-04-04

    对于web页面的性能测试分为:前端、后端的测试 首先,我们来明确下你的性能测试目的,你的目的是服务端的性能还是前端...

  • 利用incapsula缓解ddos攻击

    针对ddos的几种攻击类型,可以利用Incapsula进行ddos缓解。既可抵御所有ddos attack类型,又...

网友评论

      本文标题:关于前端页面测试和抵御 clickjacking attack

      本文链接:https://www.haomeiwen.com/subject/ajkydrtx.html