🎯Laboratorio: Inyección arbitraria de objetos en PHP

A veces puedes leer código fuente al agregar un tilde (~) a un nombre de archivo para recuperar un archivo de copia de seguridad generado por editor.archivo.txt~
Tendremos que inyectar un objeto malicioso que llame a un método de la clase para eliminar directorios o archivos y ese es el que tomaremos en cuenta, será un método magico.
Aqui ya por ejemplo podemos ver en el DOM un comentario que hace referencia a un código PHP →


Vemos que no muestra nada, pero si le añadimos el signo virgulilla ~ nos muestra la copia de seguridad que hace el editor de código →

Información importante warning ⚠️

__destruct: → Método Magico Este método se llama cuando un objeto está a punto de ser destruido o cuando el script termina. Se utiliza típicamente para tareas de limpieza, como cerrar manejadores de archivos o conexiones a bases de datos.
Destructor (__destruct()):
Este método se ejecuta al destruir la instancia de la clase. Verifica si el archivo de bloqueo existe y lo elimina con
unlink($this->lock_file_path).Cookie: (estas son pruebas que hice para ver cual me daba)
Algo importante que me pasó:
Toda la tarde estuvo intentando inyectar el objeto arbitrario con toda la estructura de la cookie de session porque bajo la logica mía era: “si ingresé como wiener, le voy a inyectar a la estructura de la cookie el object”, sin embargo así no fue como me funcionó, totalmente opuesto luego de ver en el laboratorio bastaba simplemente con enviar literalmente solo la estructura del objeto inyectado de la clase CustomTemplatepara poder comprender y eliminar el archivo morale.txt
Efectivamente encodeando a base64 y luego a url.

Con esto queda de moraleja que la inserialización insegura no siempre se debe seguir al margen la cookie de session a veces podemos saltarnos las reglas para hacer algo un tanto diferente y no morir en el intento.

Y exitosamente pudimos resolver este laboratorio, ahora bien ¿con que música lo resolví?

La musica para mi es vida.
Last updated