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.

Bypasseando uploaders con SkillmaX

  • 4 Respuestas
  • 2412 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado SkillmaX

  • *
  • Underc0der
  • Mensajes: 106
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • http://lab-skillmax.blogspot.com/
« en: Julio 21, 2010, 07:02:02 pm »
He visto que muchos usuarios tienen problemas a la hora de bypassear los uploaders, en este tutorial os voy a enseñar
como saltarnoslo, y de todas las formas posibles, por si se nos muestran complicaciones, me he creado un upload en mi host, y por hay podreis practicar, a ver quién es el primero que lo consigue.


¿Qué es un upload?


Subir archivos, transmitir archivos o información desde el ordenador emisor al receptor (Web).


¿Como ver un upload?


Un upload se reconoce siempre, cuando entramos al panel de una web (Aunque a veces estan a fuera del panel), se suelen
reconocer cuando hay un boton "Examinar o otro nombre" que es donde se eligirá el archivo a subir, y otro botón, que es el
enviar (que será el botón que subirá nuestra shell o otro archivo al servidor), os dejo una imagen de como sería un upload
simple.





¿Qué tipos de bypasseamiento hay?


Actualmente hay unas cuantas formas de bypassear un uploader, yo las podria dar a entender así:


- Subida normal de un archivo php:


Le daríamos al botón examinar y desde hay cogeriamos nuestra shell, le dariamos al botón enviar, y subiriamos nuestra
shell al servidor, este metodo es el más facil que hay, ya que no hay que modificar nada, y es utilizable en algunas webs.


- Reenombrando con una imagen o archivo soportable:


Renombrando nuestra shell con una imagen que soporte el uploader, ya que muchas veces está reestringido para los archivos
php, o cualquier otro archivo, podemos probar a subir un archivo .jpg si se sube quiere decir que los archivos .jpg se pueden subir, para ello lo que haremos en nuestra shell sería renombrarlo shell.php a shell.php.jpg







Lo que haría es leer el .jpg primero y cuando esté subida lo que tendriamos que hacer es borra el .jpg y que quede el .php que es el archivo que nosotros queremos utilizar para que se ejecute la shell en el servidor.



- Modificando las cabeceras:


Esto es uno de lo que más se utiliza ya que los otros dos metodos que he explicado anteriormente puede fallar, entonces
casi siempre nos quedará el modificamiento de las cabeceras, esto trata de subir la shell con el nombre por ejemplo de
shell.jpg o shell.gif depende de el archivo que soporte el uploader.


Para hacer este metodo necesitamos mozilla y un addons que se llama HTTP Live Headers que lo pueden descargar de aqui:


Descargar aqui la última versión de mozilla

Descargar aqui el addons para firefox


Supongamos que hemos subido satisfactoriamente nuestra shell en .jpeg ahora tendriamos que modificar las cabeceras, que lo que consiste es cambiar .jpeg que es el archivo que hemos subido a .php que es el archivo que se va a ejecutar en el servidor.
Para eso cuando tengamos el archivo subido en jpeg, os saldrá el link para descargar cierto archivo por ejemplo.





Bueno, ya nos a subido la shell pero con .jpg ahora copiaremos la dirección, ojo, primero abrir el HTTP Live Header, que lo encontraremos arriba en la barra al lado de ayuda.





Ahora como bién he dicho antes, lo abrimos el http live header, copiamos la url, y lo abrimos y nos saldrá algo como esto.





Cuando esté abierto el HTTP live teneis que ir a la linea filename que será donde aparecerá nuestra shell subida en jpeg.
y pinchamos en lo alto de la linea, le damos a repetir y modificamos tal cual sale en la imagen de arriba, y renombramos en vez de .jpeg  a   .php, y se nos cargará la shell en la web.






- Subiendo shells en lenguaje como:


La otra manera que hay es subiendo la shell como en la primera forma que he explicado, pero esta vez con otros lenguajes que se ejecuten en la web, después de la php, la que yo más utilizo es la .asp o también la .pl


Para que practiquen


Como veo que quereis practicar la subida de shells os dejo un codigo de un upload que encontré por hay para que lo subais en vuestro servidor y probeis, y asin no fastidieis otras webs.

upload.html

Código: [Seleccionar]
<form action="subearchivo.php" method="post" enctype="multipart/form-data">
    <b>Campo de tipo texto:</b>
    <br>
    <input type="text" name="cadenatexto" size="20" maxlength="100">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <br>
    <br>
    <b>Enviar un nuevo archivo: </b>
    <br>
    <input name="userfile" type="file">
    <br>
    <input type="submit" value="Enviar">
</form>


subearchivo.php

Código: [Seleccionar]
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
    echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
       echo "El archivo ha sido cargado correctamente.";
    }else{
       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
?>
« Última modificación: Julio 21, 2010, 07:03:57 pm por SkillmaX »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5406
  • Actividad:
    11.67%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Julio 21, 2010, 07:10:26 pm »
Excelente mi hermano!
Esto es de gran utilidad!
+KARMA!


Desconectado FahD

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
  • مبروك رمضان
    • Ver Perfil
« Respuesta #2 en: Julio 21, 2010, 07:13:53 pm »
La forma del HTTP LIVE HEADERS lo hago con TAMPER DATA xD el resto realmente no lo conocia...
Gracias por el aporte, me servira!!

Desconectado Harakiri

  • *
  • Underc0der
  • Mensajes: 92
  • Actividad:
    0%
  • Reputación 0
  • ~Lets hack like its 1998!
    • Ver Perfil
    • Email
« Respuesta #3 en: Julio 21, 2010, 07:30:42 pm »
Buen tut compare, gracias. Te daria Karma pero no puedo xD


Desconectado SkillmaX

  • *
  • Underc0der
  • Mensajes: 106
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • http://lab-skillmax.blogspot.com/
« Respuesta #4 en: Julio 23, 2010, 06:11:28 am »
Gracias por los comentarios, un saludo amigos.

 

¿Te gustó el post? COMPARTILO!



Bypasseando filtros de uploads y subiendo archivos.php - by Hondaomena

Iniciado por dracko.rx

Respuestas: 3
Vistas: 5673
Último mensaje Enero 05, 2015, 11:02:57 pm
por Turka
[0day] FullMemory para Mozilla/3.6.6 [Creado por SkillmaX]

Iniciado por SkillmaX

Respuestas: 0
Vistas: 1489
Último mensaje Julio 07, 2010, 04:24:28 pm
por SkillmaX
[TUTORIAL] Arbytrary downloader by SkillmaX

Iniciado por SkillmaX

Respuestas: 3
Vistas: 1880
Último mensaje Julio 13, 2010, 02:47:29 pm
por 303010
Codeando un exploit II: Bypass uploaders & RCE

Iniciado por dracko.rx

Respuestas: 0
Vistas: 1855
Último mensaje Febrero 24, 2010, 03:28:59 pm
por dracko.rx