温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python3 Redis未授权检测脚本怎么写

发布时间:2022-03-29 15:56:07 来源:亿速云 阅读:255 作者:iii 栏目:移动开发

这篇文章主要介绍“python3 Redis未授权检测脚本怎么写”,在日常操作中,相信很多人在python3 Redis未授权检测脚本怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python3 Redis未授权检测脚本怎么写”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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 -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 = 'INFOrn'
    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}rn'.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)

到此,关于“python3 Redis未授权检测脚本怎么写”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI