`import sys

import getopt

import socket

def get_target():

opts, args = getopt.getopt(sys.argv[1:], '-i:-p:-h')
# print(opts)
for opt_name, opt_value in opts:
if opt_name == '-h':
print('[*]This is help information [*]\n'
'[*]-i + vulnerable-ip [*]\n'
'[*]-p + vulnerable-port [*]\n'
'[*]Example:python3 redis.py -i 127.0.0.1 -p 6379[*]\n') if opt_name in ('-i', ):
ip = opt_value if opt_name in ('-p', ):
port = opt_value return ip, port

def passwd_dict():

passwd = ['redis@123', 'Redis@123', 'Passw0rd', '123456']

return passwd

# 简单的弱口令检测功能,后续可改为读取字典进行爆破

def main(ip, port, passwd):

print("[]Redis Unauthorized and Weak Password Detection []\n"

"[]By: Zh1z3ven []\n"

"[]Blog: https://www.cnblogs.com/Zh1z3ven/ []\n")

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((ip, int(port)))

send_data = 'INFO\r\n'

s.send(send_data.encode())

res = s.recv(1024)

response = bytes.decode(res)

# print(response)

if 'redis_version' in response:

result = '[!]Vulnerable {0}:{1} 存在未授权访问 [!]'.format(ip, port)

print(result)

return result

elif 'NOAUTH' in response:
for item in passwd:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
send_data = 'AUTH {0}\r\n'.format(item)
s.send(send_data.encode())
res = s.recv(1024)
response = bytes.decode(res)
# print(response) if '+OK' in response:
result = '[!]Vulnerable: {0}:{1} 存在弱口令{2} [!]'.format(ip, port, item)
print(result)
return result
else:
result = ['[*] 不存在未授权及弱口令 [*]']
print(result)
return result

if name == 'main':

ip, port = get_target()
passwd = passwd_dict()
main(ip, port, passwd)

`

ps:简单记录下,欢迎各位大佬师傅表哥们评论指正缺点~

python3 Redis未授权检测脚本的更多相关文章

  1. 批量redis未授权检测工具&批量redis弱口令爆破工具

    今天需要然后就百度搜索了一波,然后自己稍微改了一下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: 偷来 ...

  2. Redis未授权漏洞检测工具

    Redis未授权检测小工具 #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: r0cky @Time: 20 ...

  3. redis未授权访问批量验证脚本编写[python]

    漏洞简介 简单来说,redis是一个数据库.在默认的配置下,redis绑定在0.0.0.0:6379,也就是说,如果服务器有公网ip,可以通过访问其公网ip的6379端口来操作redis.最为致命的是 ...

  4. Redis 未授权访问漏洞(附Python脚本)

    0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-.t ...

  5. Redis未授权总结

    以前的笔记 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  6. Redis未授权访问缺陷让服务器沦为肉鸡

    朋友的一个项目说接到阿里云的告警,提示服务器已沦为肉鸡,网络带宽被大量占用,网站访问很慢,通过SSH远程管理服务器还频繁断开链接.朋友不知如何下手,便邀请我帮忙处理. 阿里云的安全告警邮件内容: 在没 ...

  7. redis 未授权漏洞利用直接登录服务器

    在没有查到杀手之前我是先把带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因 2 在各种netstat –ntlp  的查看下没有任何异常 在top 下查到了有异常 ...

  8. 10.Redis未授权访问漏洞复现与利用

    一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...

  9. 基于Redis未授权访问的挖矿蠕虫分析

    0x01 攻击方式 利用的是通用漏洞入侵服务器并获得相关权限,从而植入挖矿程序再进行隐藏. 通过对脚本的分析,发现黑客主要是利用 Redis未授权访问漏洞进行入侵.脚本里有个python函数. imp ...

随机推荐

  1. javascript文本全选,反选,多选

    1.首先还是要创建一个案例文件 <div id="one">请选择爱好: <input type="checkbox" id="ch ...

  2. elk部署(实战一)

    项目介绍: 系统:redhat7.6 软件:es+logstash+kibana  6.1 IP+主机名 192.168.0.10    elk1 192.168.0.10    elk2 192.1 ...

  3. Java-GUI基础(二)java.awt

    1. 组件与容器 容器就是窗口和面板,而组件为按钮.文本域.标签等(待续),二者的声明.设置很相似, 因此本文只做对于容器的详解.组件与容器的区别在于组件不能做容器,而部分容器可以兼顾组件和容器的特性 ...

  4. vue3.0-如何切换路由-路由模式ts

    如何更换路由模式 vue3版本如何切换路由模式?(注:更改后要重启下项目才能看到效果.) 博主,我搜了大半天的,你是怎么找到的? 如下图可看到

  5. (C#2,.net framework2.0,Visual Studio 2003)之前版本

    (C#2,.net framework2.0,Visual Studio 2003)之前版本归为最初的版本(主要是针对.net framework),其主要定义了最基本的类型.特性. 1.基本的类型 ...

  6. C++语言学习之STL 的组成

    STL有三大核心部分:容器(Container).算法(Algorithms).迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有S ...

  7. c++11-17 模板核心知识(三)—— 非类型模板参数 Nontype Template Parameters

    类模板的非类型模板参数 函数模板的非类型模板参数 限制 使用auto推断非类型模板参数 模板参数不一定非得是类型,它们还可以是普通的数值.我们仍然使用前面文章的Stack的例子. 类模板的非类型模板参 ...

  8. day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏

    目录 1.购物车有效期切换 2.根据有效期不同切换价格 3.购物车删除操作 4.价格结算 5.订单页面-初始化 1.购物车有效期切换 1.关于有效期表结构的设计 1.course/models.py ...

  9. kudu集群:kudu_master、kudu_tserver服务及数据的迁移(根据官网总结)

    是不是都需要一个声明,来一个: 声明: 本文只是总结本人本地模拟环境测试,并没有经过严格的线上测试.请自己在本地严格测试之后慎重使用在生产环境! kudu_master.kudu_tserver服务迁 ...

  10. 内网安装python第三方包

    内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...