当前位置: 首页 > news >正文

邮件伪造漏洞

邮件伪造漏洞

邮件伪造的原理

邮件伪造利用了 SMTP(简单邮件传输协议) 的设计缺陷,SMTP 协议本身不强制验证发件人的身份,导致攻击者可以伪造邮件的“发件人”字段(如 From 头),冒充他人发送邮件。

伪造方式

  • From 字段伪造:攻击者修改邮件的 From 字段,伪装成可信的发件人(如 ceo@company.com)。
  • Envelope From vs. Header From:
    • Envelope From(MAIL FROM):SMTP 协议用于路由的发件人地址,服务器可能检查。
    • Header From:显示在邮件客户端中的发件人地址,易被伪造且用户可见。
    • 攻击者可使两者不一致,邮件客户端显示伪造的发件人。

邮件伪造漏洞的触发机制

邮件伪造通常依赖以下条件:

  • 目标邮件服务器未配置防护机制:
    • 未启用 SPF(Sender Policy Framework):SPF 记录定义了允许发送邮件的服务器 IP,若缺少或配置不当,攻击者可从任意服务器发送伪造邮件。
    • 未部署 DKIM(DomainKeys Identified Mail):DKIM 通过数字签名验证邮件来源,缺少 DKIM 使伪造邮件难以被检测。
    • 未实施 DMARC(Domain-based Message Authentication, Reporting, and Conformance):DMARC 结合 SPF 和 DKIM,指定如何处理未通过验证的邮件。无 DMARC 策略(如 reject 或 quarantine)会导致伪造邮件被接受。
  • 开放中继(Open Relay):邮件服务器允许未经身份验证的第三方发送邮件,攻击者可直接利用。
  • 弱验证的客户端或服务:某些邮件客户端或服务未严格检查邮件来源,显示伪造的发件人信息。

其实哪怕启用了SPF,但是标记方式是软标记,即~all,任然可以伪造邮件

攻击方式

dig -t txt www.ynu.edu.cn

运行 dig -t txt www.ynu.edu.cn 的作用是:

  • 查询 www.ynu.edu.cn 域名的 TXT 记录
  • 返回结果会显示与该域名关联的文本记录(如果存在),例如:
    • SPF 记录(如 “v=spf1 include:spf.example.com ~all”,用于邮件服务器验证)。
    • 域名所有权验证字符串(如 Google、Microsoft 等服务要求的验证代码)。
    • 其他自定义文本信息。

如果有spf记录,且是波浪号all,就可以伪造官方发邮件

利用kali自带sweak进行攻击

swaks --body "钓鱼邮件测试" --header "Subject:钓鱼测试" -t my@163.com -f "test@baidu.com"

sweak绕过一些邮件服务器检测

https://blog.csdn.net/y995zq/article/details/122963484

那这个漏洞怎么修复呢

先做一个基本的了解

“+”表示通过(Pass),接受来信
“-”表示拒绝(Fail),退信
“~”表示软拒绝(Soft Fail),不采取强制措施,接收来信并进行标记
“?”表示中立(Neutral),没有查询到记录,所以接收来信

image-20250715205437600

所以添加SPF记录,规定好允许发送邮件的ip,并把~all改成-all即可修复


文章转载自:
http://assault.jopebe.cn
http://caba.jopebe.cn
http://amido.jopebe.cn
http://allness.jopebe.cn
http://baronetcy.jopebe.cn
http://boschvark.jopebe.cn
http://bauhaus.jopebe.cn
http://branchiae.jopebe.cn
http://butterfingered.jopebe.cn
http://bareboat.jopebe.cn
http://armlet.jopebe.cn
http://cavil.jopebe.cn
http://charkha.jopebe.cn
http://childproof.jopebe.cn
http://astration.jopebe.cn
http://asa.jopebe.cn
http://bivouac.jopebe.cn
http://brumaire.jopebe.cn
http://acropolis.jopebe.cn
http://avicide.jopebe.cn
http://bora.jopebe.cn
http://buckjump.jopebe.cn
http://anticlimactic.jopebe.cn
http://akee.jopebe.cn
http://acidophil.jopebe.cn
http://arthrotropic.jopebe.cn
http://andromonoecious.jopebe.cn
http://chirurgeon.jopebe.cn
http://casein.jopebe.cn
http://capital.jopebe.cn
http://www.dtcms.com/a/280082.html

相关文章:

  • 基于 AI 的大前端安全态势感知与应急响应体系建设
  • 【SVN】设置忽略规则
  • Python Docker SDK库详解:从入门到实战
  • el-table中type=“selection“选中数据如何回显
  • 半导体制造流程深度解析:外观缺陷检测的AI化路径与实践
  • Java 栈和队列
  • 3d max 的快捷键
  • 极限状态下函数开根号的计算理解(含示意图)
  • Flink双流实时对账
  • CPU寄存器、进程上下文与Linux O(1)调度器原理
  • Jfinal+SQLite java工具类复制mysql表数据到 *.sqlite
  • 基于 vue+Cesium 实现军事标绘之钳击箭头绘制实战
  • C++-linux系统编程 8.进程(三)孤儿进程、僵尸进程与进程回收
  • Oracle学习专栏(五):性能优化
  • 适用于Windows系统截图工具
  • 通用综合文字识别联动 MES 系统:OCR 是数据流通的核心
  • 【算法-BFS 解决最短路问题】探索BFS在图论中的应用:最短路径问题的高效解法
  • JVM——JVM垃圾回收调优的主要目的是什么?
  • 行为模式-状态模式
  • C++ -- STL-- List
  • 分布式通信框架 - JGroups
  • 从零开始的云计算生活——第三十二天,四面楚歌,HAProxy负载均衡
  • 数据怎么分层?从ODS、DW、ADS三大层一一拆解!
  • 智慧园区:激活城市活力的数字化引擎
  • 【colab 使用uv创建一个新的python版本运行】
  • mac上的app如何自动分类
  • 22-C#的委托简单使用-2
  • 自增主键为什么不是连续的?
  • 基于多智能体强化学习的医疗检索增强生成系统研究—MMOA-RAG架构设计与实现
  • Uboot源码超详细分析(2)