El archivo contiene un exploit

1. Requisitos previos para su uso:

(1) Hay un archivo que contiene el punto de explotación.

(2) Tener una ubicación de entrada controlable y una ruta de archivo de entrada

(3) La ruta del archivo escrito es conocida o predecible

2. Contiene registros web

A través de la recopilación de información en la etapa inicial, se obtiene información relevante del servidor, como saber que el middleware es apache.

Los archivos utilizados por apche para registrar registros web incluyen access.log y error.log

En este momento, cuando accedemos al servidor, modificamos nuestra solicitud mediante eructo y escribimos el código malicioso en la solicitud. En este momento, el registro web escribirá nuestro código malicioso en el archivo de registro, porque el archivo de registro generalmente es el predeterminado. La ruta es más fácil de adivinar y satisface la condición de nuestro getshell de inclusión local.

Por ejemplo, obtenga la solicitud get"<?php phpinfo();?>".html

Tres incluyen registros de inicio de sesión

Si se descubre que un sistema liunx tiene el puerto 22 abierto y hay una vulnerabilidad de inclusión de archivos, entonces podemos construir un inicio de sesión malicioso y escribir código malicioso en el registro de inicio de sesión ssh.

Ruta de registro de inicio de sesión predeterminada de liunx: /var/log/auth.log o /var/log/secure

Utilice el comando finalshell o ssh para iniciar sesión: ssh "<?php phpinfo();?>"@127.0.0.1. En este momento, el código php aparecerá en el registro de inicio de sesión.

Si MySQL abre el inicio de sesión remoto, también podemos iniciar sesión remotamente en MySQL e incluir registros de MySQL: mysql -u "<?php phpinfo();?>" -p -h 127.0.0.1

En Linux, los registros de MySQL están desactivados de forma predeterminada. Active los registros de MySQL:

Modificar /opt/lampp/ect/my.cnfgeneral_log 
=


 
ONgeneral_log_file
= /opt/lampp/logs/mysql.loglog_output 
= 
file 
Asegúrese de que


el directorio /opt/lampp/logs tenga permisos o+w, o escriba el archivo de registro en el propio mysql carpeta, y mysql.log también requiere permisos o+r

<!--Versión MySQL5.7, o suite que no sea Lampp, la ruta del archivo de configuración de my.cnf puede estar en /etc/my.cnf, es necesario confirmar -->

Cuatro contienen registros de MySQL

La inclusión de mysql generalmente se implementa después de acceder exitosamente a MySQL. Un atacante puede ingresar a MySQL a través de la interfaz de consulta de la base de datos para escribir código malicioso en el registro de MySQL. El método y el principio son los mismos que los de incluir registros web. Por ejemplo, ingrese al fondo de phpmyadmin o ingrese exitosamente a MySQL mediante explosión.

Ver el estado del archivo de registro: mostrar variables como 'general_log'

Escriba código malicioso: seleccione "<? phpinfo();?>", que se puede incluir según la ruta del archivo de registro. Aunque la prueba de penetración ha sido exitosa en este paso, si el servidor web tiene permisos más altos, el servidor web se puede incluir en el registro, de modo que la cuenta con altos privilegios ejecutará el shell web para lograr la escalada de privilegios.

5. Contiene archivos cargados

La carga directa de archivos de código malicioso puede verificar el nombre del sufijo, lo que provoca que falle la carga directa de archivos ejecutables. Puede cargar un archivo que cumpla con los requisitos de sufijo del servidor, pero escribir código malicioso en el archivo. Por ejemplo, utilice imágenes de caballos para cargar archivos y luego incluirlos.

Comando de producción de imágenes de caballos: copiar muma.jpg/b + shell.php/a tupianma.jpg

Seis contiene archivos temporales

Los archivos temporales se refieren a archivos que el servidor almacenará temporalmente, pero que se eliminarán poco después. Por ejemplo, al cargar y detectar, algunos mecanismos de detección guardarán el archivo cargado en una carpeta temporal o zona de pruebas. El archivo histórico depende de la lógica empresarial específica, y el archivo temporal de Haohan debe utilizar el método de competencia condicional, y el El movimiento es relativamente grande y fácil de detectar.

Cómo utilizar las condiciones de carrera:

a: Utilice burpssuite para enviar paquetes de carga continuamente

b: Intente incluir continuamente los archivos cargados en la página de inclusión de archivos, con la esperanza de que se acceda a los archivos maliciosos antes de que el servidor los elimine.

c: Una vez que el archivo se incluye correctamente, incluso si se elimina, la conexión puede continuar mientras el shell sea continuo.

Siete contiene archivos de sesión.

El ID de sesión se puede conocer a través de cookies. El formato predeterminado para los archivos de sesión almacenados en el servidor es sess_(sessID), y la ruta también es fija. La mayoría de ellos existen en el directorio tmp. Por lo tanto, siempre que encuentre un controlable punto de escritura del archivo de sesión, puede usarlo.Contiene vulnerabilidad getshelll

Supongo que te gusta

Origin blog.csdn.net/m0_73896875/article/details/131626317
Recomendado
Clasificación