send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Otra forma de bypassear un uploader

  • 0 Respuestas
  • 2337 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« en: Abril 20, 2012, 02:42:01 am »
Nota: Algunas líneas del código de la página en cuestión fueron editadas para poder hacer esta prueba de concepto.

Como expliqué en la entrada pasada (You are not allowed to view links. Register or Login), es muy común encontrarnos con sitios mal válidados pero en esta ocasión nos enfocaremos exclusivamente en nuestro image uploader sin necesitar de una sesión de administrador para poder explotarla.

Generalmente un uploader comprueba que el archivo en cuestión sea una imagen, pero por el otro lado, algunos uploaders comprueban que no se traten de extensiones en específico; aunque desde PHP 5+ ya no se puede fácilmente subir shell utilizando nombres como shell.jpg.txt.php puesto que con la función pathinfo() te regresa solamente la extensión, es decir, aunque tu archivo sea shell.jpg.txt.php.png.php, utilizando la función anteriormente mencionada te regresará php (en este caso).

Un bypass común consiste en modificar las cabeceras (comúnmente el content-type) mediante plugins, scripts o programas que hacen creer al servidor que se trata de una imagen cuando en realidad es una aplicación PHP; pero este tipo de bypass al ser tan conocido y con la función anterior (pathinfo()), ha sido parchado y es más difícil de bypassear por lo que recurriremos a otra técnica que seguro más de uno ya la conoce: shell.jpg con directivas de .htaccess.

En esta ocasión nos encontramos con una página que tiene como fin una comunicación entre alumno y profesor en donde el alumno sube tareas y el profesor las revisa, o el profesor sube trabajos y el alumno los descarga (quiero creer que por eso la validación de archivos es prácticamente nula):


Testeando en primera instancia al intentar subir shell.php nos encontramos con que filtra las variables regresandonos el siguiente error:
Citar
Extensión php no permitida.
Por lo tanto procedemos a subir shell.jpg y notamos que la sube sin ningún problema:


Intentamos a ver si de casualidad con Live Headers nos permite subir la shell y nos regresa el mismo error:
Citar
Extensión php no permitida.

Continuamos a buscar donde alojó la shell.jpg y nos encontramos con el mensaje que es obvio:
Citar
No se puede mostrar la imagen "You are not allowed to view links. Register or Login" porque contiene errores.

Acá es donde entra el .htaccess; nosotros sabemos de antemano que shell.jpg es una aplicación PHP bajo la extensión de una imagen y que con .htaccess podemos agregar directivas para que la extensión .jpg la interprete como .php quedando así (recuerda guardarlo como .htaccess):

Código: Text
  1. RemoveHandler .jpg
  2. AddHandler application/x-httpd-php .jpg
  3. AddType application/x-httpd-php .jpg

Procedemos a subirlo (y cruzamos dedos para que nos lo permita):


Ahora nos dirigímos a donde se subió la shell.jpg anteriormente y:


P.D.: Ningún archivo fué tocado o eliminado (ha excepción de los archivos vulnerables).
P.D.2: En algunos servidores será más difícil decirle las directivas .htaccess puesto que pueden estar desactivadas (como en este caso, en la página uno no permitía por lo que se siguió con el PoC en una segunda página para explicar el concepto), así que no se desesperen.
Cada vez que me das Karma me motivas

 

¿Te gustó el post? COMPARTILO!



Bypassear "Illegal mix of collations"

Iniciado por Abnormality

Respuestas: 0
Vistas: 1177
Último mensaje Agosto 25, 2011, 12:16:05 am
por Abnormality
Métodos para bypassear un WAF en Inyección SQLi

Iniciado por M5f3r0

Respuestas: 6
Vistas: 2799
Último mensaje Agosto 05, 2013, 01:24:32 pm
por Mr. Foster
Bypassear FuckingScan[Mozilla Firefox]

Iniciado por Matabarras

Respuestas: 1
Vistas: 1437
Último mensaje Abril 16, 2014, 07:07:42 am
por meteor0
[Video-Tutorial] Bypassing an uploader to get shell.

Iniciado por Xt3mP

Respuestas: 0
Vistas: 1222
Último mensaje Julio 21, 2010, 07:38:59 pm
por Xt3mP
Bypassear uploader con validacion en JavaScript

Iniciado por Xt3mP

Respuestas: 2
Vistas: 2202
Último mensaje Agosto 30, 2012, 01:31:40 pm
por hdbreaker