Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2017-14980 — Buffer overflow basato su stack in Sync Breeze Enterprise 10.0.28 raggiungibile attraverso il gestore /login, dimostrando come una lunghezza di input non controllata possa corrompere la memoria dello stack. | Kitploit
Strumenti/GitHubGitHub/themalwareguardian/cve-2017-14980
Analisi delle VulnerabilitàExploitReverse EngineeringShellcodeSfruttamento di Applicazioni WebDebuggerFuzzingApprendimento e FormazioneSviluppo Payload

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Binary Exploitation
GitHubthemalwareguardian/cve-2017-14980

CVE-2017-14980

Buffer overflow basato su stack in Sync Breeze Enterprise 10.0.28 raggiungibile attraverso il gestore /login, dimostrando come una lunghezza di input non controllata possa corrompere la memoria dello stack.

Vedi Repository
15 mesi faNon ancora revisionato

🐞 CVE-2017-14980: Sync Breeze Enterprise 10.0.28 - Buffer Overflow basato su Stack

Buffer overflow basato su stack in Sync Breeze Enterprise 10.0.28 raggiungibile tramite il gestore /login, che dimostra come una lunghezza di input non controllata possa corrompere la memoria dello stack.




📑 Indice dei contenuti

  • Perché esiste questo repository
  • Perché questa vulnerabilità è interessante
  • Contesto e software interessato
  • Informazioni sulla vulnerabilità
  • Attivazione del crash
  • Sfruttamento



🎓 Perché esiste questo repository

Questo repository fa parte del materiale che utilizzo quando insegno lo sfruttamento della corruzione della memoria (oltre al mio lavoro regolare, insegno anche in diversi corsi di cybersecurity in cui aiuto a formare la prossima generazione di reverse engineer).

CVE-2017-14980 è un caso che utilizzo quando voglio che gli studenti sperimentino una sovrascrittura EIP semplice su HTTP piuttosto che su un protocollo TCP grezzo. Sembra semplice all'inizio, un modulo di login, una password lunga, un crash, ma il contesto HTTP introduce una serie di caratteri dannosi che non sono immediatamente ovvi e che costringono gli studenti a pensare a come i dati vengono elaborati prima di raggiungere il buffer vulnerabile. Capire perché %, &, + e = sono caratteri dannosi qui richiede la comprensione della codifica URL, che è una lezione utile di per sé.




💡 Perché questa vulnerabilità è interessante

Sync Breeze Enterprise è un'applicazione Windows di sincronizzazione file che espone un'interfaccia di gestione web. La vulnerabilità risiede nel gestore di login, che copia il campo password in un buffer dello stack di dimensione fissa senza validazione della lunghezza. Ciò che rende questo caso utile per l'insegnamento:

  • Nessuna autenticazione richiesta. L'overflow si attiva durante l'elaborazione del login prima che venga effettuato qualsiasi controllo delle credenziali.
  • Sovrascrittura diretta di EIP. Nessun SEH, nessuna heap, nessuno sfruttamento multi-stage. L'indirizzo di ritorno salvato viene sovrascritto direttamente.
  • Il contesto HTTP introduce caratteri dannosi non ovvi. Oltre ai soliti \x00, \x0a e \x0d, il tipo di contenuto application/x-www-form-urlencoded aggiunge \x25 (%), \x26 (&), \x2b (+) e \x3d (=) come caratteri dannosi perché il server decodifica il corpo codificato URL prima di copiarlo nel buffer. Gli studenti che saltano l'analisi dei caratteri dannosi e vanno direttamente allo shellcode otterranno un payload che viene silenziosamente corrotto prima di raggiungere la memoria.
  • Un gadget affidabile in un modulo fornito con l'applicazione. libspp.dll, in bundle con Sync Breeze, è stato compilato senza ASLR, SafeSEH o CFG, rendendo l'indirizzo del gadget fisso tra i riavvii.



🔍 Contesto e software interessato

Sync Breeze Enterprise è uno strumento di sincronizzazione file per Windows che include un server web integrato per la gestione remota. L'interfaccia web ascolta sulla porta TCP 80 quando abilitata ed espone un modulo di login su /login. La vulnerabilità risiede nel gestore POST che elabora il campo password.

Dettagli tecnici chiave:

Scarica lo strumento
  • Tipo di vulnerabilità: Buffer overflow basato su stack
  • Versione interessata: Sync Breeze Enterprise 10.0.28
  • Endpoint interessato: POST /login, parametro password
  • Componente vulnerabile: Gestore del modulo di login
  • Autenticazione richiesta: No
  • Impatto: Esecuzione remota di codice



  • ⚠️ Informazioni sulla vulnerabilità

    Sync Breeze elabora il modulo di login leggendo il corpo POST ed estraendo il campo password. Il valore viene copiato in un buffer dello stack di dimensione fissa senza controllarne la lunghezza. Una versione semplificata della logica vulnerabile si presenta così:

    root@kitploit:~
    char password_buffer[256];
    
    strcpy(password_buffer, password_field);
    

    Il corpo POST viene decodificato URL prima che avvenga la copia, il che significa che caratteri come %25 vengono decodificati in % prima di raggiungere il buffer. Questo è anche il motivo per cui alcuni caratteri speciali URL agiscono come caratteri dannosi, vengono interpretati dal livello HTTP prima che i dati raggiungano l'operazione di copia vulnerabile. Inviare un valore della password sufficientemente lungo fa sì che la copia scriva oltre la fine del buffer, sovrascrivendo l'indirizzo di ritorno salvato. Quando la funzione ritorna, la CPU carica il valore controllato dall'attaccante dallo stack in EIP e vi salta.




    💥 Attivazione del crash

    Il crash può essere riprodotto inviando una password sovradimensionata in una richiesta POST a /login. Non è richiesta alcuna autenticazione. Esempio usando Python:

    root@kitploit:~
    import socket
    
    HOST = '127.0.0.1'
    PORT = 80
    
    payload = b"A" * 600
    
    body = b"username=admin&password=" + payload
    request = (
    	b"POST /login HTTP/1.1\r\n"
    	b"Host: 127.0.0.1\r\n"
    	b"Content-Type: application/x-www-form-urlencoded\r\n"
    	b"Content-Length: " + str(len(body)).encode() + b"\r\n"
    	b"Connection: close\r\n"
    	b"\r\n" +
    	body
    )
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    s.send(request)
    s.close()
    

    Quando eseguito sotto un debugger, il crash mostra EIP sovrascritto con dati controllati dall'utente:

    root@kitploit:~
    EIP = 41414141
    

    confermando che l'indirizzo di ritorno salvato è stato corrotto dall'overflow.




    💣 Sfruttamento

    L'obiettivo di questo repository non è solo dimostrare il crash, ma anche illustrare l'intero processo di sfruttamento passo dopo passo, dal fuzzing a una reverse shell funzionante.

    Per mantenere pulito il README principale, le note dettagliate di sfruttamento, gli script e i passaggi del debugger sono inseriti nella cartella Vulnerability 📂 di questo repository.

    Lì troverai il flusso di lavoro completo utilizzato per sfruttare questa CVE, tra cui:

    • Fuzzing del campo password per identificare il crash.
    • Scoperta dell'offset per individuare la posizione esatta di EIP nello stack.
    • Analisi dei caratteri dannosi per il corpo POST codificato URL, compresi i caratteri dannosi specifici HTTP.
    • Individuazione di un gadget JMP ESP in libspp.dll, un modulo compilato senza ASLR o SafeSEH.
    • Posizionamento ed esecuzione dello shellcode.