comment
IRC Chat
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
  • 2536 Vistas

0 Usuarios y 1 Visitante 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 (No tienes permisos para ver links. Registrate o Entra con tu cuenta), 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 "No tienes permisos para ver links. Registrate o Entra con tu cuenta" 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: 1320
Ú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: 3116
Último mensaje Agosto 05, 2013, 01:24:32 pm
por Mr. Foster
Bypassear FuckingScan[Mozilla Firefox]

Iniciado por Matabarras

Respuestas: 1
Vistas: 1614
Ú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: 1438
Último mensaje Julio 21, 2010, 07:38:59 pm
por Xt3mP
Bypassear uploader con validacion en JavaScript

Iniciado por Xt3mP

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