帝国cms渗透邮箱炸弹
帝国CMS后台有个功能叫“邮件通知”,帝国弹本来是透邮用来给管理员发系统提醒的。问题出在哪儿?箱炸它对邮件发送频率几乎没做限制。只要你能触发发信逻辑,帝国弹就能把目标邮箱塞爆。透邮 我去年帮朋友查一个站,箱炸帝国CMS 7.5,帝国弹后台开了“会员注册欢迎邮件”。透邮注册接口没有验证码,箱炸没有频率限制,帝国弹连邮箱格式都只做了前端校验。透邮写个脚本,箱炸循环提交 帝国CMS的发信点不止注册。评论回复通知、订单状态变更、密码找回、投稿审核结果——这些功能只要后台开了邮件通知,都可能被滥用。最隐蔽的是“密码找回”:你输入目标邮箱,系统就发重置链接。有些版本连“该邮箱是否存在”都不判断,直接发。这就等于一个免费的邮件轰炸接口,连注册都省了。 具体代码在 它默认用 更麻烦的是,帝国CMS的会员注册接口支持GET请求。这意味着你可以把发信请求伪装成图片或链接,放到论坛、贴吧里。别人点一下,目标邮箱就多一封。这种“点击即轰炸”的玩法,比脚本还难防。 拿一个本地搭的帝国CMS 7.5做测试,配置QQ企业邮箱SMTP。写了个Python脚本,用 如果目标邮箱是自建服务器,没有云服务商的垃圾过滤,那基本就是无限收。我见过一个案例,某公司内部邮箱被炸,IT部门查了半天以为是病毒,最后发现是竞争对手用帝国CMS的密码找回接口刷的。 最直接的办法:后台关掉所有非必要的邮件通知。注册欢迎邮件、评论回复通知,统统关。密码找回如果必须开,加验证码,加IP频率限制。帝国CMS本身没有这些,得自己改。在 另一个思路是改SMTP配置。别用主邮箱的SMTP,单独开一个子账号,设置每小时发信上限。这样即使被刷,也只影响子账号,主邮箱不受牵连。 还有,别用 最后说一句:如果你在跑帝国CMS,现在就去后台看一眼“邮件通知”设置。关掉它。真的。email=xxx@qq.com,帝国弹每次注册一个随机用户名,透邮服务器就老老实实往那个邮箱发一封欢迎信。箱炸一分钟能跑几百次。朋友的QQ邮箱半小时内收到两万多封,直接废了。怎么找到这个入口
/e/member/class/member_actfun.php 里,SendMail 函数调用前没有队列控制。每次请求独立执行,SMTP连上去就发。我试过一个配置了企业邮箱的站,发信速度大概每秒3到5封。量不大?够用了。连续跑一小时,一万多封,大部分邮箱服务商已经开始限流或标记垃圾邮件了。为什么帝国CMS特别容易中招
mail() 或SMTP直发,没有异步队列。DedeCMS早年也有类似问题,但后来加了验证码和间隔限制。帝国CMS的更新节奏慢,很多站长装完就不管了。后台“邮件通知”选项默认是关的,但架不住有人手动打开。我扫过一批帝国站,大概三成左右开着注册欢迎邮件,其中一半没有验证码。实测数据
requests 库循环POST注册。单线程,每秒约2.3封。开了10个线程,每秒冲到18封。跑了10分钟,QQ邮箱开始返回 550 5.7.1 错误,IP被临时拉黑。换了个163邮箱,撑了20分钟才限流。怎么防
SendMail 调用前插一段Redis计数,同一IP一分钟超过3次就拒绝。或者更简单,把发信改成写数据库队列,用计划任务慢慢发。mail() 函数。那玩意儿走本地sendmail,没有认证,很容易被滥用。用SMTP,带认证的那种,至少能追踪。
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-