webmin远程命令执行漏洞

2023-10-13 05:45

本文主要是介绍webmin远程命令执行漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 漏洞编号:
  • 漏洞描述:
  • 影响版本:
  • 利用方法(利用案例):
    • 安装环境
    • 漏洞复现
  • 附带文件:
  • 加固建议:
  • 参考信息:
  • 漏洞分类:

Webmin 远程命令执行漏洞(CVE-2019-15107)

漏洞编号:

CVE-2019-15107

漏洞描述:

该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码

该漏洞由于password_change.cgi文件在重置密码功能中存在一个代码执行漏洞,该漏洞允许恶意第三方在缺少输入验证的情况下而执行恶意代码

该webmin漏洞的漏洞点在password_change.cgi配置文件中,如果使用不存在的用户重置密码,就会定位到

影响版本:

Webmin<=1.920

利用方法(利用案例):

安装环境

进入vulhb目录下的weblogic,复现CVE-2018-2894漏洞:

cd /vulhub/webmin/CVE-2019-15107

查看docker-compose的配置文件:

cat docker-compose.yml

如图,里面有一个镜像文件的信息和服务名,以及它的端口号(后面要用):

在这里插入图片描述

然后使用下面命令,搭建docker-compose并启动:

sudo docker-compose up -d && sudo docker-compose up -d

如图,安装成功:

在这里插入图片描述

漏洞复现

在bp自带的浏览器中用https协议打开漏洞环境10.9.75.45:10000,如下图:

在这里插入图片描述

随便输入用户名密码,点击sign in:
在这里插入图片描述

将bp抓到的数据包发送到repeater模块:

在这里插入图片描述

修改数据包的两处位置,下面的user值要是用的是一个不存在的用户,使用真实存在的用户root测试不成功,只有在发送的用户参数的值不是已知的Linux用户的情况下,才会到修改/etc/shadow的地方获得命令执行的权限,触发命令注入漏洞

漏洞利用的playload,来执行ip a命令:

user=rootxx&pam=&expired=2&old=ip+a&new1=test2&new2=test2

如图:

在这里插入图片描述

如图,点击send后命令执行成功,响应包中出现相应内容:

在这里插入图片描述

如果访问/password_change.cgi路径后出现下面的回显,就说明很可能有webmin RCE漏洞:

在这里插入图片描述

附带文件:

在这里插入图片描述

加固建议:

升级到1.930版本

参考信息:

漏洞复现------Webmin 远程命令执行漏洞(CVE-2019-15107)_miniserv1.910漏洞-CSDN博客

Webmin未经身份验证的远程代码执行漏洞复现(CVE-2019-15107) - 小小小怪将军 - 博客园 (cnblogs.com)

漏洞分类:

远程命令执行漏洞(RCE)

这篇关于webmin远程命令执行漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201171

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加