Heim > Datenbank > Redis > Hauptteil

So schreiben Sie ein Python3-Redis-Skript zur nicht autorisierten Erkennung

WBOY
Freigeben: 2023-05-29 23:55:04
nach vorne
1540 Leute haben es durchsucht

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)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo schreiben Sie ein Python3-Redis-Skript zur nicht autorisierten Erkennung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!