Aria2

Aria2 任意文件写入漏洞

简介:

Aria2是一个命令行下轻量级、多协议、多来源的下载工具(支持 HTTP/HTTPS、FTP、BitTorrent、Metalink),Aria2 支持许多 curl 和 wget 不支持的协议,例如:BT、磁力链接等等,内建XML-RPC和JSON-RPC接口。在有权限的情况下,我们可以使用RPC接口来操作aria2来下载文件,将文件下载至任意目录,造成一个任意文件写入漏洞。
aria2的rpc默认端口:6800
Aria 提供 RPC Server,通过–enable-rpc参数启动。
通常从百度网盘中下载资源,在桌面上显示的未下载完成资源的后缀就是aria2,想必利用的也是这个工具。

漏洞产生原理:

在未设置任何安全措施的情况下Aria2 RPC Server可以接受任何未知来源的指令请求,并根据rpc请求进行下载任务。aria2的配置文件中也存在诸如–rpc-secret、–rpc-user、–rpc-passwd之类的安全配置,但也可以通过爆破,社工等方式突破。此漏洞除了任意文件写入,还会引发ssrf。

反弹shell:

先在第三方ui接口下进行如下配置:
Aria2_第1张图片
Aria2_第2张图片
其中shell的内容就是一般的反弹linux下shell的命令,但是web服务假设在windows下,在一次发生了换行符的问题
在这里插入图片描述
接收端出现如上情况,根据以往经验应该是>&重定向时有带上了windows文本转化为linux文本时\r转换成的^M。
Aria2_第3张图片
可以发现的确是多了一个\r,但是不知道为什么显示的16进制编码的顺序和原文不一样???这里查百度也没查出来,以后看到了再来补一下。
在这里我还想找一下cron日志的一些记录,cat /etc/issue得知当前环境为Debian,但是不管怎么找都找不到当前环境下的cron执行日志,所以无法进行查证,想到可能cron日志没开起来,查了百度,但环境下并没有/etc/rsyslog.d/这个目录,也就放弃了。

tip:Ubuntu下的日志文件/var/log/syslog

但是知道了应该是 ^M产生的问题,依然可以在反弹shell命令后加一个#来注释掉 ^M。
Aria2_第4张图片
反弹shell成功。

reference:
https://www.jianshu.com/p/6adf79d29add
https://paper.seebug.org/120/

你可能感兴趣的:(Aria2)