博客
关于我
Aria2 任意文件写入漏洞复现
阅读量:643 次
发布时间:2019-03-13

本文共 1225 字,大约阅读时间需要 4 分钟。

Aria2 任意文件写入漏洞复现


环境搭建

在开始漏洞复现之前,需要分别搭建两台测试服务器,一台运行Kali,另一台运行CentOS。我们将使用docker来容器化Aria2,以及一款固定的反向代理容器来完成反弹shell。

1. 启动 Docker

首先,确保Docker已经正确安装并在系统启动时自动运行。运行以下命令启动Docker:

systemctl start docker

确认Docker服务已正常运行:

systemctl status docker

2. 克隆项目

下载并准备Vulhub项目。将代码克隆到家目录下:

git clone --depth=1 https://github.com/vulhub/vulhub.git

进入项目目录:

cd vulhub/aria2/rce/

3. 启动容器

docker-compose.json启动Aria2容器和反向代理容器:

docker-compose up -d

检查容器状态:

docker ps

4. 配置 Aria2

访问Aria2配置界面,设置隐蔽端口和有关参数。对于Kali和CentOS服务器,需修改Aria2的配置文件,将下载限制指定为 yourselves,设置完成后重新启动Aria2服务。

漏洞复现

为了测试漏洞,我们需要构造一个特定的请求,触发Aria2的文件写入功能。

1. 设置下载链接

根据文档,在指定位置设置一个下载链接,目标是要触发漏洞。你可以参考示例配置,将download_salt=(abcd1234)注入到Aria2的配置文件中,以避免控制字符的干扰。

2. 启用监听

在Kali服务器上启用一个反向代理,以便接收来自远程请求的连接。使用以下命令监听指定端口:

nc -lvvp 4444

3. 发送请求

通过工具或手动发送一个HTTP请求到Aria2的API端点,请求下载指定的文件。注意确保请求中携带download_id和其他必要参数。

4. 等待反弹shell

经过成功触发漏洞后,应该在Kali有限制条件中获得反弹shell访问权限。

遇到问题与解决方法

在实际操作中,可能会遇到无法获取反弹shell的情况。类似于您的情况,这可能是由于权限设置不当或反向代理配置不正确所致。

  • 权限问题:确认反弹shell的-shellrc文件有正确的权限,并且内容是有效的Bash脚本。

  • 反向代理问题:检查 listener 端的设置是否正确,确保本地主机可以连接到制定的端口。

  • 日志检查:查看容器日志获取更多信息,或重新启动容器:

  • docker exec -it [容器ID] /bin/bash

    总结

    通过以上步骤,成功复现了Aria2的任意文件写入漏洞。这个漏洞之所以具备攻击性,是因为它允许远程用户在没有权限的情况下,覆盖或删除重要系统文件。请谨慎使用,并确保在测试环境中进行操作。

    如需进一步了解漏洞细节,可以参考相关资料。

    转载地址:http://ixzaz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>