攻击者可以使用HTML和CSS隐藏“外部发件人”电子邮件警告

news2024/11/28 22:49:11

导语:研究人员近日证实,Microsoft Outlook等客户端向电子邮件收件人显示的“外部发件人”警告可能被发件人隐藏。
在这里插入图片描述
研究人员近日证实,Microsoft Outlook等客户端向电子邮件收件人显示的“外部发件人”警告可能被发件人隐藏。

事实证明,攻击者只需更改几行HTML和CSS代码,即可更改“外部发件人”警告,或将其从电子邮件中完全删除。

这是有问题的,因为网络钓鱼攻击者和诈骗犯可以简单地在他们发送的电子邮件中包含一些HTML和CSS代码,以篡改警告消息的措辞或使其完全消失。

发件人可以轻松隐藏“外部发件人”警告

电子邮件安全产品(例如企业电子邮件网关)通常配置为在电子邮件从组织外部到达时向收件人显示“外部发件人”警告。

IT管理员强制显示此类警告,以保护用户免受来自不可靠来源的网络钓鱼和欺诈电子邮件的攻击。

但是,本周的研究人员展示了一种相当简单的方法,电子邮件发件人可以使用这种方法来规避电子邮件安全产品所应用的这种保护。

仅通过添加几行HTML和CSS代码,研究人员Louis Dion-Marcil就展示了外部发件人如何隐藏电子邮件中的警告。
在这里插入图片描述
隐藏电子邮件中的“外部发件人”警告

这是因为电子邮件安全产品和网关拦截和扫描进入的电子邮件的可疑内容,只是简单地将“外部发件人”警告作为HTML/CSS代码片段注入电子邮件正文本身,而不是本机电子邮件客户端显示消息的UI。

这样,包含CSS指令以覆盖警告片段的CSS代码(显示规则)的由攻击者制作的电子邮件可以使警告完全消失:
在这里插入图片描述
电子邮件中注入的CSS代码隐藏了“外部发件人”警告

另一名研究人员表示,过去也注意到了这种行为,他暗示攻击者也可以利用这个漏洞来改变警告消息:

用户甚至可以伪造HTML和CSS而不是隐藏它们,这意味着内容已被扫描并认为是安全的。研究人员说,这本身并不是任何电子邮件客户端应用程序中的错误,并且与客户端无关。

研究人员表示,这实际上不是一个真正的客户端漏洞,因此它与客户端无关。与Outlook无关。我只是偶然在Outlook中拍摄了一个屏幕截图,但是在Gmail,Thunderbird等中都可以使用。

这就是HTML电子邮件的限制。如果将警告添加到HTML正文中,并且攻击者显然控制了HTML正文,则他们可以添加CSS规则来隐藏这些元素。

Dion-Marcil在接受电子邮件采访时对BleepingComputer表示:

该漏洞是不可能修复的,除了改用非html的警告标签。

Microsoft Exchange本机“外部”电子邮件标签:一个潜在的解决方案

根据BleepingComputer的报道,上个月,Microsoft Exchange宣布增加了即将推出的“外部”电子邮件标签功能。

如果IT管理员在其组织的Exchange服务器上启用此功能,则从外部来源收到的电子邮件在由Microsoft Outlook等本机客户端解析时,将带有显示在本机电子邮件客户端应用程序UI中的“外部”标签,而不是电子邮件正文。

例如,Microsoft共享的屏幕快照显示了在Microsoft Outlook和Outlook移动应用程序中收到的外部电子邮件,这些电子邮件在本机电子邮件客户端的UI中显示了“外部”标签:
在这里插入图片描述
Web上的Outlook中的外部标签在这里插入图片描述
Outlook for iOS中的外部标签

但是,一旦“外部”电子邮件标签功能推广到不同的Office 365环境,它将在默认情况下被禁用。

因此,对启用此功能感兴趣的IT管理员将需要使用Get-ExternalInOutlook和Set-ExternalInOutlook PowerShell cmdlet在支持的Outlook版本中查看和修改外部发件人标识配置。

微软说:

如果启用cmdlet,则在24-48小时内,你的用户将开始在从外部来源(组织外部)收到的电子邮件中看到警告标签。

在Outlook Mobile中,通过点击邮件顶部的“外部”标签,用户将看到发件人的电子邮件地址。

不管电子邮件中是否包含“外部发件人”警告,或者相反,都声称自己是“安全”的,用户在打开接收到的电子邮件中的任何链接或附件之前应格外小心。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/474262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】一篇带你彻底玩转 链表

文章目录 链表的概念及结构链表的分类链表接口的实现链表打印链表申请节点链表尾插链表头插链表尾删链表头删链表查找链表在指定位置之后插入数据链表删除指定位置之后的数据链表在指定位置之前插入数据链表删除指定位置之前的数据链表删除指定位置的数据链表的销毁 链表的概念…

总结835

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:熟练背诵《大独裁者》,最后默写。抄写今后要背诵的两篇文章。 高等数学:做…

机器视觉各开发语言对比以及选择

机器视觉主流开发语言主要有, 一.C#,占有率极高 市面主要以Halcon,visionpro,visionmaster,opencvsharp为主。 开发人员利用 C# 能够生成在 .NET 中运行的多种安全可靠的应用程序。 二.C++,Qt 市面主要以Halcon,visionpro,visionmaster,opencv为z主。 C++ 即已成为世界上…

Arduino学习笔记5

一.直流电机控制实验 1.源代码 int dianJiPin9;//定义数字9接口接电机驱动IN1的控制口void setup() {pinMode(dianJiPin,OUTPUT);//定义电机驱动IN1的控制口为输出接口 } void loop() {digitalWrite(dianJiPin,LOW);//关闭电机delay(1000);//延时digitalWrite(dianJiPin,HIGH…

基于protobuf构建grpc服务

一、protobuf介绍 protobuf是谷歌开源的一种数据格式,适合高性能,对响应速度有要求的数据传输场景。因为profobuf是二进制数据格式,需要编码和解码。数据本身不具有可读性。因此只能反序列化之后得到真正可读的数据。 优势: 序列…

【Unity-UGUI控件全面解析】| Text文本组件详解

🎬【Unity-UGUI控件全面解析】| Text文本组件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 改变Text文本颜色4.2 文本换行问题4.3 空格自动换行问题4.4 逐字显示效果五、组件相关扩展使用5.1 文本描边组件(Outline)5.2 阴影组件(Shadow)5.3…

操作系统——操作系统逻辑结构

0.关注博主有更多知识 操作系统入门知识合集 目录 2.1操作系统的逻辑结构 思考题: 2.2CPU的态 思考题: 2.3中断机制 2.1操作系统的逻辑结构 操作系统的结构指的是操作系统的设计和实现思路,按照什么样的结构设计、实现。 操作系统的…

[java]云HIS:检验字典维护

术语解释: 1、最小剂量:并非指医生开处方时的最小剂量值,而是为了对应计量单位和剂量单位之间数量关系而设置的。 2、包装规格:是计价单位和计量单位之间换算的关系值,1个计价单位计价规格个计量单位。 药品单位之间的…

【三十天精通Vue 3】第二十一天 Vue 3的安全性详解

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue 3 中的安全问题1.1 前端安全问题概述1.2 Vue 3 中的安…

浅谈Golang等多种语言转数组成字符串

目录 Python 一维列表转字符串 二维列表转字符串 多维列表转字符串 Golang 一维数组的遍历打印 二维数组的遍历打印 Java 一维容器的直接打印 二维容器的直接打印 普通数组的转化 C 一维容器的遍历 1. to_string() 2. stringstream 二维容器的遍历 简要小结 …

【Python--高级教程】

高级教程 1.正则表达式re.compile()re.match()函数re.search()函数re.search()函数与re.match()函数的区别group(num) 或 groups()检索和替换re.sub()替换函数中的re.sub可以是一个函数findAll()方法re.finditer()方法re.split()regex修饰符正则表达式模式 2.CGI编程什么是CGI网…

Top-K问题

Top-K简介 😄Top-k算法常用于对诸如前几名,前几个最大值,前几个最小值这样的问题的求解,并且在数据量较大时力求在最短的时间内求出问题的解。例如: 世界500强公司,世界上年龄最大的几个人,某知…

3.7 Linux shell脚本编程(分支语句、循环语句)

目录 分支语句(对标C语言中的if) 多路分支语句(对标C语言中的swich case) 分支语句(对标C语言中的if) 语法结构: if 表达式 then 命令表 fi 如果表达式为真, 则执行命令表中的命令; 否则退出if语句,…

数据湖Data Lakehouse支持行级更改的策略:COW、MOR、Delete+Insert

COW:写时复制,MOR:读时合并,Delete+Insert:保证同一个主键下仅存在一条记录,将更新操作转换为Delete操作和Insert操作 COW和MOR的对比如下图,而Delete+Insert在StarRocks主键模型中用到。 目前COW、MOR在三大开源数据湖项目的使用情况,如下图。 写入时复制【Copy-On…

浙大的SAMTrack,自动分割和跟踪视频中的任何内容

Meta发布的SAM之后,Meta的Segment Anything模型(可以分割任何对象)体验过感觉很棒,既然能够在图片上面使用,那肯定能够在视频中应用,毕竟视频就是一帧一帧的图片的组合。 果不其然浙江大学就发布了这个SAMTrack,就是在…

编译预处理以及相关面试

编译预处理 1、宏定义1.1、 无参宏定义1.2、使用宏定义的优点1.3、宏定义注意点1.4、带参数的宏(重点)1.5、条件编译1.6、宏定义的一些巧妙用法(有用)1.7、结构体占用字节数的计算原则(考题经常考,要会画图)1.8、#在宏定义中的作用&#xff0…

[Android Studio Tool]如何将AS的gradle文件迁移到D盘

解决学习安卓的过程中,使用Android Studio来进行开发导致的C盘空间占用的问题。 首先,找到C盘中的.gradle文件的位置 一般会在我们的系统盘的用户文件下。 然后把一整个.gradle文件剪切,粘贴到其它盘(比如D盘)的根目录下 打开Androdi Stu…

QT菜单样式Ribbon Control for Qt, Office ribbon control

基于Qt(最低要求Qt5,支持C11的编译器)开发的一个轻量级的Ribbon控件(Office样式UI) 使用Qt Creator直接打开SARibbon.pro,并编译即可,会编译出SARibbonBar库和一个(目前只有一个例子)例子&#…

7.0、Java继承与多态 - 多态的特性

7.0、Java继承与多态 - 多态的特性 面向对象的三大特征:封装性、继承性、多态性; extends继承 或者 implements实现,是多态性的前提; 用学生类创建一个对象 - 小明,他是一个 学生(学生形态)&…

nginx(七十二)nginx中与cookie相关的细节探讨

背景知识铺垫 一 nginx中与cookie相关 ① Cookie请求头内容回顾 cookie的形式和属性 ② nginx获取cookie值的两种方法 1) $http_cookie -->获取Cookie请求头"所有值"2) $COOKIE_flag -->获取Cookie请求头的"某个key"[1]、脱敏场景在日志中只…