当前位置: 首页 > news >正文

华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 漏洞的部分复现 设置连接密码 redis其他命令学习

在这里插入图片描述

前言

最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到过MySQL数据库被攻击的情况,数据丢失,还好我有几份备份,没有造成太大的损失。昨天收到华为云的邮箱提醒,我的redis数据库没有设置密码,也就是说只要知道我服务器的ip以及redis的端口就能连上我的redis数据库。我说怎么我的redis里面的数据总是会莫名消失。。。

本篇博客介绍redis连接密码设置以保证redis缓存数据库的安全性,以及查看redis数据库相关情况的命令。

在这里插入图片描述

其他相关的华为云云耀云服务器L实例评测文章列表如下:

  • 初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

  • 安装Java8环境 & 配置环境变量 & spring项目部署 &【!】存在问题未解决

  • 部署spring项目端口开放问题的解决 & 服务器项目环境搭建MySQL,Redis,Minio…指南

  • 由于自己原因导致MySQL数据库被攻击 & MySQL的binlog日志文件的理解

  • 拉取创建canal镜像配置相关参数 & 搭建canal连接MySQL数据库 & spring项目应用canal初步

在这里插入图片描述

文章目录

  • 前言
  • 引出
  • 一、redis允许任何人访问的风险
    • 1.认识redis未授权访问漏洞
    • 2.漏洞的危害
  • 二、漏洞的复现
    • 1.数据泄密+flush删库跑路
  • 三、漏洞的解决
    • 1.数据泄密的初步解决---加连接密码
  • 四、redis的其他命令学习
    • 1.database的设置和切换
    • 2.client 相关命令
  • 总结

引出


1.redis漏洞—轻微:攻击者知道ip+端口就可以访问redis,所以redis的数据会被泄露,另外,攻击者可以执行flushall命令来清空所有数据;
2.redis漏洞—严重:通过eval命令来执行lua脚本;
3.redis漏洞—危险:如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登陆受害服务器;

在这里插入图片描述

一、redis允许任何人访问的风险

1.认识redis未授权访问漏洞

Redis未授权访问漏洞是指,如果Redis服务器没有采取相应的安全策略,如添加防火墙规则阻止非信任来源的IP访问,那么未经授权的用户就可以直接访问和操作Redis服务。

这个漏洞产生的原因主要是Redis默认绑定在0.0.0.0:6379,并未开启认证。所以如果攻击者可以访问目标服务器,那么他们无需授权就可以访问Redis服务,甚至可以读取Redis的数据。

如果一个系统存在这个漏洞,攻击者可能会利用该漏洞进行恶意操作。比如,攻击者可以利用Redis提供的config命令,进行写文件操作,将ssh公钥写入目标服务器的/root/.ssh文件夹中的authorized_keys文件,从而利用ssh服务登录目标服务器。

在我之前的redis设置中,(1)允许任何ip访问;(2)免密码登陆redis服务;因此存在较大风险。

bind 允许任何ip访问

在这里插入图片描述

保护模式关闭

在这里插入图片描述

2.漏洞的危害

(1)轻微:攻击者知道ip+端口就可以访问redis,所以redis的数据会被泄露,另外,攻击者可以执行flushall命令来清空所有数据;

* FLUSHALL [ASYNC | SYNC] 
* 功能:删除所有数据;
* Delete all the keys of all the existing databases

(2)严重:通过eval命令来执行lua脚本;

* EVAL script numkeys [key [key ...]] [arg [arg ...]]
* 功能:执行lua脚本;
* Invoke the execution of a server-side Lua script.

(3)危险:如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登陆受害服务器;

https://www.zoomeye.org/ 用这个网址搜索结果如下:

在这里插入图片描述

redis漏洞

在这里插入图片描述

二、漏洞的复现

1.数据泄密+flush删库跑路

在windows中安装redis的以cmd的方式运行redis-cli客户端

redis通过监听一个TCP端口或socket的方式接收来自客户端的连接,
当与客户端建立连接后,redis内部会进行如下操作:

  • (1)客户端socket会被设置为非阻塞模式,因为redis在网络时间处理上采用的是非阻塞多路复用模型;
  • (2)然后为这个socket设置TCP_NODELAY属性,禁用Nagle算法;
  • (3)然后创建一个可读的文件事件用于监听这个客户端socket的数据发送。

在这里插入图片描述

启动一下之前搭的从,端口6380,在windows上连接,数据泄密,然后flushall删库跑路

在这里插入图片描述

D:\Myprogram\redis>redis-cli -h 124.70.138.34 -p 6380
124.70.138.34:6380> keys *
1) "backup3"
2) "backup4"
3) "backup2"
4) "backup1"
124.70.138.34:6380> flushall
(error) READONLY You can't write against a read only replica.
124.70.138.34:6380> slaveof no one
OK
124.70.138.34:6380> flushall
OK
124.70.138.34:6380> keys *
(empty list or set)
124.70.138.34:6380> set pet 123
OK
124.70.138.34:6380> keys *
1) "pet"

通过上述操作,从变成了主,黑白颠倒

在这里插入图片描述

三、漏洞的解决

1.数据泄密的初步解决—加连接密码

在redis.cnf中设置连接redis数据库的密码

在这里插入图片描述

root@hcss-ecs-52b8:~# docker exec -it redis_6379 bash
root@706d04b2ea4d:/data# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 设置的密码
OK
127.0.0.1:6379> keys *
1) "backup1"
2) "backup3"
3) "jwt1"
4) "backup4"
5) "backup2"
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) 设置的密码
127.0.0.1:6379> 

在这里插入图片描述

四、redis的其他命令学习

1.database的设置和切换

在redis.cnf中设置,databases参数,默认是16个数据库

在这里插入图片描述

进入redis-cli客户端后利用select 3进行数据库切换

在这里插入图片描述

用config get databases可以获得配置的参数

在这里插入图片描述

[root@localhost ~]# docker exec -it redis_6379 bash
root@5d04e3abf91f:/data# redis-cli
127.0.0.1:6379> keys *1) "book"2) "weather"3) "stu"4) "usernames"5) "tom_bank"6) "dress"7) "peter"8) "username"9) "goods"
10) "mycar"
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> keys *
(empty array)
127.0.0.1:6379[3]> config get databases
1) "databases"
2) "16"

RedisDesktopManager软件连接时,在超出索引自动退出

在这里插入图片描述

2.client 相关命令

  • CLIENT LIST获取客户端列表
  • CLIENT SETNAME 设置当前连接点redis的名称
  • CLIENT GETNAME 查看当前连接的名称
  • CLIENT KILL ip:port 杀死指定连接

在这里插入图片描述

127.0.0.1:6379> info clients
# Clients
connected_clients:1
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:8
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0
total_blocking_keys:0
total_blocking_keys_on_nokey:0
127.0.0.1:6379> config get maxclients
1) "maxclients"
2) "10000"
127.0.0.1:6379> CLIENT LIST
id=12 addr=127.0.0.1:44442 laddr=127.0.0.1:6379 fd=8 name= age=1123 idle=0 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=26 qbuf-free=20448 argv-mem=10 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=22426 events=r cmd=client|list user=default redir=-1 resp=2 lib-name= lib-ver=
127.0.0.1:6379> CLIENT LIST
id=12 addr=127.0.0.1:44442 laddr=127.0.0.1:6379 fd=8 name= age=2903 idle=0 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=26 qbuf-free=20448 argv-mem=10 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=22426 events=r cmd=client|list user=default redir=-1 resp=2 lib-name= lib-ver=
id=47 addr=112.21.24.25:19880 laddr=172.18.12.79:6379 fd=9 name= age=604 idle=447 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=1928 events=r cmd=setex user=default redir=-1 resp=3 lib-name= lib-ver=
127.0.0.1:6379> 

总结

1.redis漏洞—轻微:攻击者知道ip+端口就可以访问redis,所以redis的数据会被泄露,另外,攻击者可以执行flushall命令来清空所有数据;
2.redis漏洞—严重:通过eval命令来执行lua脚本;
3.redis漏洞—危险:如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登陆受害服务器;

相关文章:

华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 漏洞的部分复现 设置连接密码 redis其他命令学习

前言 最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到过MySQL数据库被攻击的情况,数据丢失,还好我有几份备份,没有造成太大的损失。昨天收到华为云的邮箱提醒,我的redis数据库没有设置密码&…...

快速安装NGINX

快速安装NGINX #安装依赖包 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel#下载NGINX curl -O https://nginx.org/download/nginx-1.21.6.tar.gz#解压NGINX tar -zxvf nginx-1.21.6.tar.gz cd nginx-1.21.6.tar.gz#配置 ./configure --prefix/…...

一台电脑远程内网的另外一台电脑,禁止远程的电脑连接外网,只允许内网连接

一台电脑远程内网的另外一台电脑,禁止远程的电脑连接外网,只允许内网连接 1.找到右下角网卡图标,右键图标选择“打开网络和共享中心”。 3、点击“更改适配器设置”。 4、右键正在使用的网卡“本地连接”打开属性 5、找到“internet协…...

山西电力市场日前价格预测【2023-09-24】

日前价格预测 预测说明: 如上图所示,预测明日(2023-09-24)山西电力市场全天平均日前电价为496.09元/MWh。其中,最高日前电价为705.54元/MWh,预计出现在14: 30。最低日前电价为333.70元/MWh,预计…...

MQ---第二篇

系列文章目录 文章目录 系列文章目录一、RabbitMQ事务消息二、RabbitMQ死信队列、延时队列一、RabbitMQ事务消息 通过对信道的设置实现 channel.txSelect();通知服务器开启事务模式;服务端会返回Tx.Select-Okchannel.basicPublish;发送消息,可以是多条,可以是消费消息提交…...

C++ 创建文件并写入内容

文章目录 1.问题2.filesystem3.示例参考文献 1.问题 C 如何向指定路径的文件写入内容呢? 这里有几点要求: 如果目录不存在需要自动创建。如果文件不存在需要自动创建。以覆盖的方式写入内容。 2.filesystem C17 带来了一个新的库:filesy…...

微信小程序rich-text里面写多行溢出显示省略号在ios中不显示的问题

问题:微信小程序rich-text里面写多行溢出显示省略号在ios中不显示的问题 解决方法:需要给一个默认的div标签,在div写行内样式 overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-o…...

解决Win11/10中Edge浏览器页面加载不出来、打不开问题|有网但是打不开,加载不了

问题症状 edge浏览器打不开,有网络能正常上网,但是edge浏览器无法浏览。网络质量很高,但是页面就是加载不出来,详情如下: (我是在科学上网后造成这样子的原因,现在将我的方法分享一下&#xff…...

【DRAM存储器五】DRAM存储器的架构演进-part2

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《Memory Systems - Cache, DRAM, Disk》 目录 以提升吞吐…...

分享一个基于uniapp+springboot技术开发的校园失物招领小程序(源码、lw、调试)

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…...

RabbitMQ工作模式——Routing路由模式

1.Routing路由模式 Routing生产者代码 public class Producer_Routing {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory();//2.设置参数factory.setHost("172.16.98.…...

Python字典的增删改查以及嵌套

嗨喽,大家好呀~这里是爱看美女的茜茜呐 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可 字典 基础数…...

【淘宝开店】新手入门开网店教程

一、上架产品流程顺序 1. 上架10个产品2. 早中晚各上架1件产品3. 连续上架4天 二、产品培训 动销率要求: 店铺产品数必须>10公式: 店铺最近30天有销量产品数 / 店铺上架总产品数 * 100%1. 从动销率可以得出, 店铺产品不宜过多2. 小卖家前期最佳建议产品数10个 三、上架产品…...

计网第五章(运输层)(五)(TCP拥塞控制)

目录 一、基本概念 二、拥塞控制算法 慢开始: 拥塞避免: 快重传: 快恢复: 一、基本概念 若对网络中某一资源的需求超过了该资源所能提供的可用部分(供不应求),网络性能就会变坏。 在计算…...

windows/ubuntu怎么修改hosts文件

windows系统修改方法: 第一步:用管理员权限打开记事本,或者visual studio。 第二步:用记事本或者vs打开地址C:\Windows\System32\drivers\etc\hosts文件,这个时候就可以直接修改了 Ubuntu22 LTS系统修改方法&#xf…...

(日积月累版)大数据基础知识点1-关系型数据库

好久不见,甚是想念。 笔者最近有时间整理关于大数据的一些基础知识点,整理的目不在于能提升多少技能,关键在于巩固一些很基础的知识点,毕竟互联网就是基础略稳固的人比较有优势,在遇到或发现一些技术问题时&#xff0c…...

【开心消消乐】python实现-附ChatGPT解析

1.题目 开心消消乐 知识点编程基础:深搜、广搜 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 给定一个N行M列的二维矩阵,矩阵中每个位置的数宁取值为0或1。矩阵示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 现需要将矩阵中所有的1进行反转为0,规则如下: 1)、当点击一…...

springBoot源码汇总

SpringFactoriesLoader 示例位置 SpringApplication#getSpringFactoriesInstances 加载spring.factroies下的初始化类 ClassLoader classLoader this.getClassLoader();Set<String> names new LinkedHashSet(SpringFactoriesLoader.loadFactoryNames(type, classLoade…...

代码随想录二刷day39

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣62. 不同路径二、力扣63. 不同路径 II 前言 一、力扣62. 不同路径 class Solution {public int uniquePaths(int m, int n) {int[][] dp new int[m][…...

Spring面试题7:面试官:Spring是如何进行异常处理的呢?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring是如何进行异常处理的呢? Spring通过异常处理机制来处理应用程序中的异常。它提供了多种方式来处理异常,包括以下几种: 声明式事务管理:…...

华为云云耀云服务器L实例评测|搭建您的私人影院网站

前言 本文为华为云云耀云服务器L实例测评文章&#xff0c;测评内容是云耀云服务器L实例搭建在线视频网站&#xff0c;大家可以将这个网站作为私人影院或是分享给朋友&#xff0c;但是尽量不要更广的传播&#xff0c;因为这涉及到版权问题 系统配置&#xff1a;华为云 2核2G 3M…...

Solidity 小白教程:22. Call

Solidity 小白教程&#xff1a;22. Call 这一讲我们将介绍如何利用 Call 调用合约。 Call call 是address类型的低级成员函数&#xff0c;它用来与其他合约交互。它的返回值为**(bool, data)&#xff0c;分别对应call**是否成功以及目标函数的返回值。 call是solidity官方推…...

mySQL 安装

一、windows安装包下载 mysql官网提供了两种安装方式&#xff0c;一个是zip安装&#xff0c;另一个是msi安装&#xff0c;这里简绍第一种安装方式&#xff0c;第二种简单&#xff0c;不再简绍 官网下载&#xff0c;根据自己需要选择版本&#xff1a;MySQL :: MySQL Community…...

涛然自得周刊(第 10 期):搬到海岛生活是一种什么体验

作者&#xff1a;何一涛 日期&#xff1a;2023 年 9 月 24 日 涛然自得周刊主要精选作者阅读过的书影音内容&#xff0c;周末发布。历史周刊内容可以看这里。 影音 《德雷尔一家》是一部根据书籍《希腊三部曲》改编的英剧&#xff0c;共 4 季&#xff0c;每一季豆瓣评分都超…...

pycharm中恢复原始界面布局_常用快捷键_常用设置

文章目录 1 恢复默认布局1 .1直接点击file→Manage IDE Settings→Restore Default Settings&#xff08;如下图所示&#xff09;&#xff1a;1.2 直接点击Restore and Restart&#xff0c; 然后Pycharm就会自动重启&#xff0c;重启之后的界面就是最原始的界面了 2 改变主题2.…...

docker(7):实战--安装nginx并实现反向代理

基本概念 反向代理&#xff1a;客户端向反向代理的命名空间中的内容发送普通请求&#xff0c;接着反向代理将推断向何处&#xff08;原始服务器&#xff09;转交请求&#xff0c;并将获得的内容返回给客户端。 负载均衡&#xff1a;当请求过多&#xff0c;单个服务器难以负荷…...

day-61 代码随想录算法训练营(19)一刷完结撒花

短短60天过的很快&#xff0c;但是让我养成了写博客的习惯。在训练营学到了挺多不同的思路&#xff0c;跟录友们的交流也使我受益良多。 我的感觉是&#xff0c;一道题没有思路的时候&#xff0c;要及时去看题解&#xff1b;毕竟是应试&#xff0c;第一次做的时候&#xff0c;没…...

C#中对泛型集合元素使用List.Sort()方法排序

啊&#xff01;终于整明白了&#xff01; 今天拿出一点时间研究了一下C#的List<T>如何排序&#xff0c;基本上整明白了。很多场景下&#xff0c;用这个排序还是很方便的。 //构造一个类 public class mth{//编号private string id;public string Id{get { return id; …...

【项目】在线音乐播放器测试报告

目录 项目背景 项目功能 测试计划 功能测试 登录页面的测试 测试用例 测试结果 注册页面的测试 测试用例 测试结果 音乐列表页面的测试 测试用例 测试结果 出现的bug 搜索功能的bug 问题解决 删除功能的bug 问题解决 喜欢列表页面的测试 测试用例 测试结果…...

[C++ 网络协议] 多线程服务器端

具有代表性的并发服务器端实现模型和方法&#xff1a; 多进程服务器&#xff1a;通过创建多个进程提供服务。 多路复用服务器&#xff1a;通过捆绑并统一管理I/O对象提供服务。 多线程服务器&#xff1a;通过生成与客户端等量的线程提供服务。✔ 目录 1. 线程的概念 1.1 为什…...

规划网站的总结/seo提升排名技巧

登录JIRA访问打开缓慢&#xff0c;查询日志出现下述提示&#xff1a;java.lang.OutOfMemoryError: GC overhead limit exceeded 修改setenv.sh文件中的JVM配置,/data/atlassian/jira/bin 是我JIRA安装的路径 #cd /data/atlassian/jira/bin #vi setenv.sh 编辑保存后…...

get attached file wordpress/重庆seo网络推广优化

获取元素DOM对象有很多种方法&#xff0c;以前一直在用getElementById和getElementsByTagName等&#xff0c;现在对这些方法和querySelector做一个总结&#xff0e; 常见的获取元素的方法有3种&#xff0c;分别是通过元素ID、通过标签名字和通过类名字来获取。 DOM提供了一个名…...

wordpress 增加新功能/简单的seo

需求场景 使用uniapp开发&#xff0c;有A、B、C三个页面&#xff0c;在页面A、B点击按钮之后都可以跳转到C页面。在C页面操作完毕之后&#xff0c;点击确定按钮&#xff0c;返回A或B页面&#xff08;由哪个页面跳转过来的就返回哪一个页面&#xff09;。 解决代码 以下是C页…...

查服务器ip地址/辽宁seo推广

一、systemctl介绍 通常&#xff0c;Linux 的启动一直采用init进程。 我们经常看到 $ sudo /etc/init.d/apache2 start 或者 $ service apache2 start 这种方法有两个缺点&#xff1a; 一是启动时间长。init进程是串行启动&#xff0c;只有前一个进程启动完&#xff0c;才会启动…...

揭阳网站制作服务/seo关键词排名报价

1、驱动包要升级为 mysql-connector-java-8.0.11.jar2、JDBC driver 由“com.mysql.jdbc.Driver”改为“com.mysql.cj.jdbc.Driver”3、url中加上“userSSLfalse”。否则会出现以下错误&#xff1a;“Establishing SSL connection withoutservers identity verification is not…...

网站备案人授权/谷歌浏览器最新版本

1安装包解压 2解压后&#xff0c;打开setup.exe文件&#xff0c;选择安装&#xff0c;显示如图&#xff1a; 3选择全新安装或向现有安装添加功能 4点确定 5输入 企业版序列号&#xff1a;R88PF-GMCFT-KM2KR-4R7GB-43K4B 6点我接受许可条款&#xff0c;点下一步 7点安装&#xf…...