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

Webug4.0靶场通关笔记19- 第24关邮箱轰炸

目录

第24关 邮箱轰炸

1.配置环境

2.打开靶场

3.源码分析

4.邮箱轰炸

(1)注册界面bp抓包

(2)发送到intruder

(3)配置position

(4)配置payload

(5)开始轰炸

5.防范措施


第24关 邮箱轰炸

本文通过《webug4靶场第24关 邮箱轰炸》来进行邮箱轰炸攻击渗透实战。

邮箱轰炸是一种网络攻击手段,攻击者利用特殊的软件或工具,向目标邮箱发送大量的电子邮件,从而使目标邮箱服务器不堪重负,导致系统瘫痪或影响用户正常使用邮箱。通常邮箱注册界面都会向其发送邮件,邮箱轰炸攻击主要是利用网站注册功能不对邮箱真实性验证(验证码)和同一机器请求频次验证(验证码发送间隔)造成的漏洞,实现利用网站邮件服务对其他目标邮箱发动轰炸。

  • 攻击者通常会使用邮件群发软件或脚本,这些工具可以自动生成大量的邮件,并以较高甚至极高的频率发送到目标邮箱。邮件的内容可能是随机的,也可能包含恶意信息。有些攻击还会利用邮件服务器的脆弱性,绕过验证机制,进一步增加攻击的强度。

1.配置环境

本靶场要求php版本号大于5.4,需要将靶场的PHP服务版本更新,以phpstudy为例,具体操作方法为“网站-管理-php版本-选择php5.4以上的版本”,具体如下所示。

2.打开靶场

打开webug4靶场,进入第24关邮箱轰炸,完整UR如下所示L。

http://192.168.71.1/webug4/control/auth_cross/email.php

进入24关后是一个会员登录的页面,需要输入用户名和密码,猜测是邮件的登录页面。 

3.源码分析

然后我们找到24关卡对应的源码对其进行代码审计,具体如下所示。

<?phprequire_once "../../common/common.php";
require_once("../email.class.php");if (!isset($_SESSION['user'])) {header("Location:../login.php");
}if (isset($_POST['username'])) {if (!empty($_POST['username'])) {$email_addr = $_POST['username'];$smtpServer="smtp.126.com";$smtpServerPort="25";$smtpUserMail="webug226@126.com";$mailTo=$email_addr;$user="webug226";$mailPwd="wangai123";$mailTitle="hello world";$mailContent='<h1>测试邮件</h1>';$mailType="HTML";// true表示是否身份验证$smtp=new \smtp($smtpServer,$smtpServerPort,true,$user,$mailPwd);// 是否显示调试信息$smtp->debug=false;// 返回 bool$state=$smtp->sendmail($mailTo,$smtpUserMail,$mailTitle,$mailContent,$mailType);}
}require_once TPMELATE."/email.html";

接下来对如上代码进行详细的注释,具体效果如下所示。

// 检查是否提交了username参数
if (isset($_POST['username'])) {// 检查username参数是否非空if (!empty($_POST['username'])) {// 获取用户输入的邮箱地址(未做任何验证)$email_addr = $_POST['username'];// SMTP服务器配置(硬编码敏感信息)$smtpServer="smtp.126.com";       // SMTP服务器地址$smtpServerPort="25";              // SMTP端口$smtpUserMail="webug226@126.com";  // 发件邮箱(暴露在代码中)$mailTo=$email_addr;               // 收件人(用户输入直接使用)$user="webug226";                  // SMTP用户名(硬编码)$mailPwd="wangai123";              // SMTP密码(明文硬编码,严重安全问题)$mailTitle="hello world";          // 邮件标题$mailContent='<h1>测试邮件</h1>';  // 邮件内容$mailType="HTML";                  // 邮件类型// 创建SMTP实例(开启认证)$smtp=new \smtp($smtpServer,$smtpServerPort,true,$user,$mailPwd);$smtp->debug=false;  // 关闭调试信息// 发送邮件(无频率限制)$state=$smtp->sendmail($mailTo,$smtpUserMail,$mailTitle,$mailContent,$mailType);}
}

 如上所示,确实没有对注册用户的邮件等参数进行过滤,比如说如下语句

$email_addr = $_POST['username'];

另外就是关于发送邮件的账户信息要配置正确,否则无法成功发送邮件

邮箱轰炸攻击存在的原因如下所示。

  • 无收件人验证:直接使用用户输入的username作为收件地址,未验证是否为合法邮箱格式

  • 无发送频率限制:可无限次触发邮件发送

  • 敏感信息硬编码:SMTP账号密码明文存储在代码中

  • 无CAPTCHA验证:缺少人机验证机制

4.邮箱轰炸

(1)注册界面bp抓包

如下所示输入注册邮箱和密码后点击注册,使用bp抓包

(2)发送到intruder

(3)配置position

如下所示配置为sniper模式,清空所有参数

(4)配置payload

配置为Null Payloads模式,由于是示例这里只轰炸十次,故而生成次数添加10,之后选择攻击

(5)开始轰炸

如下所示轰炸了10次,当然这里只是举个例子,实际上要求邮箱服务器配置正确真正可以发送邮件才可以,不过我们的目的是掌握暴力轰炸的原理,故而这一关卡做到此程度即可。

 

5.防范措施

  • 使用邮件过滤系统:大多数邮箱服务提供商都提供了一定程度的邮件过滤功能,可以设置规则来过滤掉来自特定发件人、包含特定关键词或具有异常特征的邮件。用户也可以安装第三方的邮件过滤软件,进一步增强过滤效果。
  • 限制邮件接收频率:一些邮箱服务器可以设置限制,例如每分钟或每小时允许接收的最大邮件数量。这样可以防止短时间内大量邮件的涌入,减轻服务器的负担。
  • 提高安全意识:用户要保持警惕,不随意在不可信的网站上留下自己的邮箱地址,避免成为攻击目标。同时,对于来源不明的邮件要谨慎处理,不要轻易点击邮件中的链接或下载附件。
  • 及时更新邮箱系统和相关软件:软件开发者会不断修复系统漏_洞,用户及时更新邮箱系统和相关软件,能够确保系统具有最新的安全防护功能,降低被攻击的风险。

相关文章:

  • 限流算法学习笔记(一)Go Rate Limiter
  • 数据实验分析
  • RabbitMQ-springboot开发-应用通信
  • 精益数据分析(48/126):UGC商业模式的指标剖析与运营策略
  • JVM中类加载过程是什么?
  • node.js 实战——餐厅静态主页编写(express+node+ejs+bootstrap)
  • css识别\n换行
  • 安卓工程build.gradle中的Groovy的常见知识点
  • 【神经网络与深度学习】VAE 中的先验分布指的是什么
  • “胖都来”商标申请可以通过注册不!
  • Eclipse通过Tomcat启动web项目报错
  • 使用 AI 如何高效解析视频内容?生成思维导图或分时段概括总结
  • 基于 ISO 22301 与国产化实践的 BCM 系统菜单设计指南
  • 【疑难杂症2025-003】Java-mvn项目在gitlab-ci构建镜像时遇到的问题和解决方案
  • ✍️【TS类型体操进阶】挑战类型极限,成为类型魔法师![特殊字符]♂️✨
  • EDU/EDU.CN教育邮箱的申请(申请成功可以免费使用一年CursorPro)
  • 【漫话机器学习系列】245.权重衰减(Weight Decay)
  • CentOS 系统升级失败的原因与排查
  • 理解网站导航文件:robots.txt、sitemap.xml与LLMs.txt的全面解析
  • 大数据、物联网(IoT)、平台架构与设计重构大模型应用
  • 中美经贸高层会谈将在午餐后继续
  • 巴基斯坦首都及邻近城市听到巨大爆炸声
  • 马云再次现身阿里打卡创业公寓“湖畔小屋”,鼓励员工坚持创业精神
  • 保利42.41亿元竞得上海杨浦东外滩一地块,成交楼面单价超8万元
  • 国家发改委:美芯片药品等领域关税影响全球科技发展,损害人类共同利益
  • 第一集|《刑警的日子》很生活,《执法者们》有班味