Descarga de archivos arbitrarios (lectura)

Tabla de contenido

Perfil de vulnerabilidad

causa

explotar

Rutas comunes de archivos confidenciales

sistema windows

sistema linux

Aplicación web

PHP

ÁSPID 

aspx

JSP

Método de explotación

Precauciones

Pruebas de vulnerabilidad


Perfil de vulnerabilidad

Debido a las necesidades comerciales, algunos sitios web a menudo necesitan proporcionar funciones de visualización o descarga de archivos. En términos generales, en la función de descarga o visualización de archivos, cuando los parámetros del nombre del archivo son controlables y el sistema no filtra los parámetros estrictamente o el filtro no es estricto, puede descargar cualquier archivo en el servidor, lo que resulta en cualquier vulnerabilidad de descarga de archivos. , los piratas informáticos pueden utilizar ( ../ ) para saltar del directorio restringido del programa y descargar cualquier archivo.

causa

  • Proporcionar función de descarga de archivos y aceptar variables de parámetros relacionados.
  • Utilice la función que lee el archivo.
  • Los parámetros relevantes no están verificados o el control no es estricto.

explotar

1. Hay puntos funcionales para la función de descarga.

2. Hackear la búsqueda en Google 

  • inurl:"readfile.php?file="
  • inurl:"downfile.php?nombre de archivo="

Rutas comunes de archivos confidenciales

sistema windows

C:\boot.ini Ver la versión del sistema

C:\Windows\System32\inetsrv\MetaBase.xml Archivo de configuración de IIS

C:\Windows\repair\sam almacena la contraseña para la instalación inicial del sistema

C:\Archivos de programa\mysql\my.ini Mysql配置

C:\Archivos de programa\mysql\data\mysql\user.MYD Raíz de Mysql

C:\Windows\php.ini información de configuración de php

C:\Windows\win.ini Archivo de configuración del sistema Windows

sistema linux

/root/.ssh/authorized_keys archivo de clave pública

/root/.ssh/id_rsa archivo de clave privada

/root/.ssh/known_hosts registra la clave pública de cada usuario que accede a la computadora

/etc/passwd guarda toda la información del usuario en el sistema

/etc/shadow guarda la información de contraseña de todos los usuarios del sistema

/etc/my.conf archivo de configuración mysql

/etc/httpd/conf/httpd.conf Archivo de configuración de Apache

/root/.bash_history Archivo de registro de comandos del historial del terminal de usuario

/root/.mysql_history archivo de registro de comando histórico de mysql

/var/lib/mlocate/mlocate.db ruta completa del archivo

/usr/local/app/apache2/conf/httpd.conf archivo de configuración predeterminado de apache2

/usr/local/app/apache2/conf/extra/httpd-vhosts.conf configuración del sitio web virtual

/usr/local/app/php7/lib/php.ini archivos de configuración relacionados con php

/etc/php5/apache2/php.ini La ruta predeterminada del sistema ubuntu

Aplicación web

PHP

  • Obtenga el archivo inc/config.php y obtenga la información de la contraseña en la cadena de conexión de la base de datos

ÁSPID 

  • Obtenga el archivo inc/config.asp, obtenga la contraseña de la cadena de conexión de la base de datos y obtenga la contraseña de la base de datos 

aspx

  • Obtenga el archivo web.config en el directorio raíz del sitio web y obtenga la información de la contraseña en la cadena de conexión de la base de datos;
  • Obtenga el archivo bin/*.dll, obtenga el código fuente (código incompleto) del sitio web y utilice la herramienta reflector .NET para abrir el archivo dll compilado;

JSP

  • Obtenga conf/tomcat-user.xml, obtenga la información de la contraseña de la interfaz de administración de Tomcat y cargue el paquete war getshell
  • Obtenga el archivo WEB-INF/Web.xml y obtenga la información de la contraseña en la cadena de conexión de la base de datos

Método de explotación

Aunque no conocemos la ruta del sitio web, podemos usar "../.../../" para adivinar la ruta del sitio web capa por capa. El caso es el siguiente:

  • descargar.php?file=../../../etc/passwd
  • descargar.php?file=../../../../index.php
  • descargar.php?f=file:///etc/passwd
  • readfile.php?f=file:///etc/passwd
  • readfile.php?file=../../../etc/contraseña

Precauciones

  • Tenga en cuenta el número de ../, que representa el número de directorios principales del directorio de consulta.
  • Al encontrar cualquier vulnerabilidad de descarga de archivos, debe prestar atención al problema del permiso de descarga, que puede determinar el alcance del archivo descargado.
  • El método de envío de algunos sitios web es la solicitud POST, que necesita utilizar Burp suite para capturar paquetes.
  • Los caracteres o letras del filtro se pueden omitir codificando

Pruebas de vulnerabilidad

1. Busque aleatoriamente un sitio web a través de Google Grammar para realizar pruebas.

 

2. Puede ver que el archivo passwd se descargó correctamente y se envió la plataforma de vulnerabilidad.

 

Supongo que te gusta

Origin blog.csdn.net/smli_ng/article/details/126519966
Recomendado
Clasificación