25 Parametros más vulnerables (LFI)

¿Qué es LFI?

Local File Inclusion es un técnica que consiste en visualizar archivos que se encuentran dentro del mismo servidor web.

Para poder validar si un sitio web es vulnerable, se puede colocar un valor aleatorio como parámetro en la URI y si este muestra un error en pantalla significa que el sitio web es vulnerable a un Local File Inclusion.

http://localhost/index.php?page=78se3

Nota: El valor se establece despues del =

¿Por qué se da un LFI?

Para que una página web sea vulnerable se necesita poder modificar los parámetros de lo que se va a incluir. Como se puede observar a continuación, el código es vulnerable ya que se está permitiendo modificar los parámetros de lo que se está incluyendo en el GET.

Código vulnerable:

<?php
include $_GET[pagina];
?>

Como la variable página está configurada como GET, todo lo que se le solicite despues del = se mostrará como si fuera una petición verídica, entonces al solicitar archivos como el /etc/passwd se mostrará en pantalla.

http://localhost/index.php?pagina=/etc/passwd

Por otra parte, si el código está establecido de la siguiente manera no será vulnerable, ya que no se está estableciendo una variable que se pueda modificar, solo se hace el llamada hacia la ‘pagina.php’

Código no vulnerable:

<?php
include(pagina.php);
?>

25 Parametros más vulnerables en LFI

A continuación se describen 25 parametros más vulnerables en sitios web para LFI, los cuales pueden probarse para validar si el sitio web es vulnerable.

?cat={payload}
?dir={payload]
?action={payload}
?board={payload}
?date={payload}
?detail={payload}
?file={payload}
?download={payload}
?path={payload}
?folder={payload}
?prefix={payload}
?include={payload}
?page={payload]
?inc={payload}
?locate={payload}
?show={payload}
?doc={payload}
?site={payload}
?type={payload}
?view={payload}
?content={payload}
?document={payload}
?layout={payload}
?mod={payload}
?conf={payload}

Creditos: https://github.com/lutfumertceylan/top25-parameter