首页 > 其他分享 >web基础漏洞-界面操作劫持

web基础漏洞-界面操作劫持

时间:2023-05-29 13:23:40浏览次数:28  
标签:web 劫持 界面 跨域 iframe 操作

1、介绍

界面操作劫持攻击是一种基于视觉欺骗的web会话劫持攻击,它通过在网页的可见输入控件上覆盖一个不可见的框iframe,使得用户误以为在操作可见控件,而实际上用户的操作行为被不可见的框所劫持,执行不可见框中的恶意劫持代码,从而完成在用户不知情的情况下窃取敏感信息、篡改数据等攻击。

  • 关于界面操作劫持,网络上资料相对较少,建议参考《web前端黑客技术揭秘》(钟晨鸣 徐少培)
  • 界面操作劫持实际上突破了csrf的防御策略,这是一种社工色彩很强的跨域操作,而这种跨域正好是浏览器自身的特性。
  • 可以分为点击劫持clickjacking、拖放劫持drag&drop jacking、触屏劫持tapjacking

2、iframe实现

(1)透明层使用css样式实现

(2)使用iframe来嵌入被劫持的页面。

<iframe id="" src="http://www.abc.com" scrolling="no">

3、防护

(1)X-Frame-Options头部字段

X-Frame-Options是微软提出的一个http响应头部字段,专门用来防御利用iframe嵌套的点击劫持攻击。

并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。

这个头有三个值:(只要设置任意一种即可有效防止操作劫持漏洞)

DENY               // 拒绝任何域加载  
SAMEORIGIN         // 允许同源域下加载  
ALLOW-FROM         // 可以定义允许frame加载的页面地址

php中设置示例:
header ( "X-FRAME-OPTIONS:DENY"); 

(2)检查referer

当iframe元素发出请求时,referer字段携带当前页面的地址,服务端接收后代码进行检查,禁止跨域请求目标url

 

标签:web,劫持,界面,跨域,iframe,操作
From: https://www.cnblogs.com/wd404/p/17440149.html

相关文章

  • javaWeb中的编码解码
    在上篇博客中LZ介绍了前面两种场景(IO、内存)中的Java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的。对于我们从事java开发的人而言,其实最容易也是产生乱码最多的地方就是web部分。首先我们来看在javaWeb中有哪些地方存......
  • WEB漏洞—SQL注入之查询方式及报错盲注
     前言:当进行SQL注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是SQL语句查询方式的问题导致,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知其SQL语句大概写法也能更好的选择对应的注入语句。 #补充:上课的Access暴力猜......
  • Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能
    前言  前面实现了基础的跳转,那么动态交互中登录是常用功能。  本篇实现一个动态交互的简单登录和注销功能,在Qt中使用Session和Cookie技术。 Demo  下载地址  链接:https://pan.baidu.com/s/1nkmsHgr-11Khe9k6Ntyf_g?pwd=1234 Html处理用户输入Sessi......
  • 让Web站点崩溃最常见的七大原因
       磁盘已满导致系统无法正常运行的最可能的原因是磁盘已满。一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带)。日志文件会很快用光所有的磁盘空间。Web服务器的日志文件、SQL*Net的日志文件、......
  • webpack的工作流程(附带部分源码分析)
    @目录webpack的工作流程webpack的准备阶段本阶段流程和钩子modules和chunks的生成阶段module解析解析流程chunks生成文件生成阶段模板hash更新模板渲染chunk生成文件总结webpack的工作流程说明工作流程之前,先抛出两个结论:webpack的核心功能,是抽离成很多个内部插件来实现......
  • Charles(3):Charles的界面介绍
    Charles的界面介绍在发送网络请求的时候,charles工具界面会展示所有发送的请求数据包,如下图展示 快捷图标:扫把按钮   :点击之后可清除抓取到的所有请求图标按钮   :红点亮起说明正在抓取请求,红点展示为灰色说明目前不在抓取请求状态锁按钮    :抓取HTTPS的开开关乌......
  • WebService的简单使用
    1.创建服务端-java项目@WebServicepublicclassMyFirstWebService{/***定义webservice服务器中的方法*@paramcontent*@return*/publicStringtestWebService(Stringcontent){System.out.println("我收到了你发的信息:"+conte......
  • Rust Web 全栈开发之连接数据库
    RustWeb全栈开发之连接数据库需要使用的crate和数据库sqlx,v0.5.10PostgreSQL创建项目~/rustvia......
  • 在linux上搭建web服务(静态网站)
    目录在linux上搭建web服务(静态网站)一、简介1.1.什么是web服务器1.2.web服务器的工作原理1.3.web服务软件有哪些1.4.http/https协议1.5.URL/URI1.6.apache1.7.nginx二、搭建apache服务,部署静态网站1.1.安装apache服务程序1.2.配置服务器文件参数1.2.1.配置文件/etc/httpd/conf/ht......
  • Appium自动化(15):Appium常用操作之混合应用webview页面操作--待补充!
    上下文操作:在appium中,对于混合应用,需要进行WebView页面和原生应用的切换 常用的方法如下:1、context(self)/current_context(self):返回当前会话的当前上下文,context可以理解为可进入的窗口。对于原生应用,可用的context和默认context均为“NATIVE_APP”,对于webvi......