Colección de citas famosas - Frases motivadoras - ¿Vulnerabilidad de carga de archivos?

¿Vulnerabilidad de carga de archivos?

La vulnerabilidad de carga de archivos significa que debido a que los programadores no verifican ni filtran estrictamente los archivos cargados, los usuarios pueden cargar archivos de script dinámicos ejecutables al servidor más allá de sus propios permisos. Esto es muy común.

Carga de avatar, carga de fotos, carga de archivos de Office o carga de medios. En estos lugares donde los usuarios pueden cargar archivos, si el filtrado no es estricto, los usuarios malintencionados pueden utilizar las vulnerabilidades de carga de archivos para cargar ejecutables dañinos. archivos de script. Al ir al servidor, puede obtener acceso al servidor y dañarlo aún más.

Los usuarios ilegales pueden cargar archivos maliciosos que toman el control de sitios web completos e incluso servidores. Este archivo de script malicioso también se llama webshell y puede ver información del servidor, directorios, ejecutar comandos del sistema, etc. Después de cargar la puerta trasera del webshell.

Tipos de carga de archivos:

1, omisión de js del front-end

Al cargar archivos, cuando los usuarios seleccionan archivos o al enviarlos, algunos sitios web El frente -Se verificará el nombre del archivo final y, por lo general, se comprobará el sufijo para ver si está en el formato cargado. Si el formato cargado es incorrecto, aparecerá un mensaje de texto. En este momento, el paquete de datos no se enviará al servidor, sino que se verificará en el cliente a través del archivo js. Si la validación falla, no se envía al servidor para su procesamiento.

2. Modificar el tipo de contenido a omitir.

Algunos módulos de carga detectarán encabezados de tipo http. Si es un tipo de imagen, se permite cargar el archivo en el servidor. De lo contrario, la carga falla porque el servidor determina el tipo a través del tipo de contenido, y el tipo de contenido se puede modificar en el cliente.

3. Evitar la lista negra

El módulo de carga a veces se escribe como una restricción de lista negra. Obtenga el sufijo al cargar un archivo, luego detecte el sufijo y la lista negra en el programa. Si el sufijo está en la lista negra, el archivo no se cargará.

4. Omisión del análisis de reescritura de htaccess

Módulo de carga, la lista negra filtra todos los sufijos de archivos ejecutables, si se permite la carga. La función del archivo htaccess es ayudarnos a implementar algunas funciones, incluida la protección con contraseña de carpeta, la redirección automática de usuarios, páginas de error personalizadas, cambiar la extensión de su archivo, bloquear usuarios de direcciones IP específicas y solo permitir usuarios de direcciones IP específicas, deshabilitar. listado de directorios y uso de otros archivos como archivos de índice.

Escribe SetHandler en htaccess.

Application/x-httpd-php se puede reescribir como un archivo php. Para que las reglas de htaccess entren en vigor, debe abrir el módulo de reescritura en Apache. Debido a que la mayoría de Apache abre este módulo, las reglas generalmente entrarán en vigor.

5. Omisión de caso

Algunos nombres de sufijos de módulos de carga se juzgan a través de la lista negra, pero el caso del nombre del sufijo no se juzga estrictamente, lo que resulta en el cambio del caso del sufijo. y omitido, como php, PHP, Php.