webmin远程命令执行漏洞

2023-10-13 02:52

本文主要是介绍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/200280

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订