Webmin未经身份验证的远程代码执行(CVE-2019-15107)

0x01 漏洞详情

Webmin是用于类似Unix的系统的基于Web的系统配置工具。该漏洞存在于密码重置页面中,该页面允许未经身份验证的用户通过简单的POST请求执行任意命令。该漏洞由于password_change.cgi文件在重置密码功能中存在一个代码执行漏洞,该漏洞允许恶意第三方在缺少输入验证的情况下执行恶意代码,后经知道创宇404实验室发现,该漏洞的存在实则是sourceforge上某些版本的安装包和源码被植入了后门导致的。

0x02 影响版本

webmin<=1.920

0x03 漏洞利用

访问靶场地址https://219.153.49.228:40135/

Webmin未经身份验证的远程代码执行(CVE-2019-15107)

可以看到是webmin的登录页面。我们在百度搜索关键词webmin 远程代码执行漏洞,可以看到编号为CVE-2019-15107。根据网上公开的poc可知,漏洞利用url是修改密码功能password_change.cgi,且需要开启密码修改功能(1.890默认开启此功能)。

我们随便输入username,password,然后使用burp抓包(需要注意的是,这里的用户名不能再是root,因为如果传入的uesr是root的话代码层面无法进去第37行的if条件语句,从而无法执行第40行qx/…../的命令执行代码,具体可以查看文章https://blog.csdn.net/qq_43380549/article/details/100011292

Webmin未经身份验证的远程代码执行(CVE-2019-15107)1

将请求包发送到repeater模块,然后请求/password_change.cgi

post请求的数据改为

payload:

user=yeyu&pam=1&expired=2&old=ls /&new1=1111&new2=1111

Webmin未经身份验证的远程代码执行(CVE-2019-15107)2

可以看到key.txt,那我们来使用cat /key.txt来读取一下内容,成功读取key.txt的值

Webmin未经身份验证的远程代码执行(CVE-2019-15107)3

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
大佬不来一句? 抢沙发

请登录后发表评论