Las consecuencias de una mala comprobación

  • 1 Respuestas
  • 2398 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

Las consecuencias de una mala comprobación

  • en: Abril 20, 2012, 02:43:35 am
Es muy común que nos encontremos con sitios webs que tienen un panel de administración junto con un image uploader mal programados haciendo esto que la seguridad del sitio en cuestión quede totalmente en riesgo; por un lado, el no tener buena certificación de las sesiones nos permite navegar por todo el panel administrativo sin restricción alguna y el tener un “image uploader” mal programado nos facilita la tarea a la hora de intentar subir una shell al servidor para tener acceso completo al servidor (o al menos, de la página en cuestión).

Entonces, navegando por Google en busca de un image uploader me encontré con uno de estos paneles en cuestión; al inicio de el directorio nos encontramos con un archivo llamado login.php, el cual, como su nombre lo dice, es el encargado de darnos acceso al panel de administración:


A simples intentos no tenía Blind SQLi ni otras vulnerabilidades parecidas; pero… ¿válida la sesión de los demás archivos correspondiente a la de un administrador?, en este caso: ¡no!, continuando la búsqueda en Google nos encontramos con un archivo .php del panel de administrador indexado que al entrar simplemente nos daba acceso total sin sacarnos por no tener la sesión adecuada:


Código: PHP
  1. <?php /*?><?php
  2. session_start();
  3. if ($_SESSION['k_admin']<>1) {
  4.  
  5. echo '<SCRIPT LANGUAGE="javascript">
  6. location.href = "index.php";
  7. </SCRIPT>';
  8. }
  9. ?><?php */?>

Acá tenemos dos opciones: o alguien accedió antes que yo al servidor y quito la comprobación de sesión (muy, muy dudable) o simplemente el administrador del sitio creeyó que al tener el script en varios paths no se indexaría en los buscadores pensando así que no correría ningún riesgo; opto más por la segunda opción.

Siguiendo con el script, podemos notar que se trata de un image uploader el cual, como todo curioso, procedemos a subir desde el primer intento nuestra shell.php y ¿qué obtenemos?, que efectivamente la subió correctamente puesto que la validación del tipo de archivo en cuestión es incorrecta o simplemente, no fue programada de una manera adecuada.

Despúes entra otra cuestión: ¿en dónde se subió la shell?, revisamos por Live Headers y no se mira hacia donde hace referencia, entonces recurrimos a subir otra imagen en el mismo image uploader y al mostrarnos la información (segunda imagen) damos click derecho en la imagen y ver imagen quedandonos de la siguiente manera:

Citar
http://web/path/path/imagen.jpg

Al intentar acceder al directorio para revisar si efectivamente esta ahí nos encontramos con que tiene seguridad para no mostrar los “Index Of” al no tener un index la carpeta, por lo que a cuestión de suerte (y con dedos cruzados) cambiamos imagen.jpg (nombre de la imagen en cuestión) por shell.php y bingo, tenemos acceso total al hosting (ya después, se puede proceder a escalar privilegios pero esa es otra historia):


¿Qué quiero decir con esto?, que a veces siendo “curiosos” nos encontramos con scripts mal programados que nos facilitan la tarea a la hora de intentar acceder a un sitio.

P.D.: Ningún archivo fué tocado o eliminado (ha excepción de los archivos vulnerables).
P.D.2: Se parchó (se descomentó) la sesión por lo que si no tienes sesión activa, no te permite navegar en el panel de administración.
Cada vez que me das Karma me motivas

Desconectado baron.power

  • *
  • Underc0der
  • Mensajes: 294
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Las consecuencias de una mala comprobación

  • en: Abril 22, 2012, 07:52:12 pm
gracias, excelente tuto