Underc0de

[In]Seguridad Informática => Bugs y Exploits => Hacking ShowOff => Mensaje iniciado por: Pytness en Diciembre 14, 2016, 08:10:50 AM

Título: [XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 14, 2016, 08:10:50 AM
Imagenes:
(http://fotos.subefotos.com/19fb348423003cfa36cca84ac6a6cb75o.png)
(http://fotos.subefotos.com/537999956ba3de88454b9c18ddfd4315o.png)
Url: http://carta.es (http://carta.es)
Vector: <script>alert('XSS\nFrom Pytness\nTo Undercode\nWith Love <3');</script>*
Autor: Pytness
Ejemplo: www.carta.es/carta.php?id=1158511aaa00933
Reportado: No


*Es necesario poner todo el script en una sola linea
Título: Re:[XSS] Carta para los reyes magos (carta.es)
Publicado por: d0r127 en Diciembre 14, 2016, 09:52:27 AM
tengo una duda, seria reflejado o persistente...lo pregunto porque si buscas el id te salta el alert cuando el script lo metes en la carta...
no se no se jaja que opinan?
Título: Re:[XSS] Carta para los reyes magos (carta.es)
Publicado por: rollth en Diciembre 14, 2016, 11:31:21 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
tengo una duda, seria reflejado o persistente...lo pregunto porque si buscas el id te salta el alert cuando el script lo metes en la carta...
no se no se jaja que opinan?

En ese caso sería persistente, yo no puedo verlo ya que no me carga la web.
Título: Re:[XSS] Carta para los reyes magos (carta.es)
Publicado por: HATI en Diciembre 14, 2016, 01:43:10 PM
Efectivamente es persistente, a mi me salta el alert de @pytness (https://underc0de.org/foro/profile/pytness/) cuando introduzco su id.

Cita de: rollthyo no puedo verlo ya que no me carga la web.

@rollth (https://underc0de.org/foro/profile/rollth/), ¿escribiste "www" en el domino? A mi tampoco me cargaba y ese era el motivo.

URL: www.carta.es (http://www.carta.es)
XSS de @pytness (https://underc0de.org/foro/profile/pytness/): www.carta.es/carta.php?id=1158511aaa00933 (http://www.carta.es/carta.php?id=1158511aaa00933)
Título: Re:[XSS] Carta para los reyes magos (carta.es)
Publicado por: rollth en Diciembre 14, 2016, 04:07:21 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Efectivamente es persistente, a mi me salta el alert de @pytness (https://underc0de.org/foro/profile/pytness/) cuando introduzco su id.

Cita de: rollthyo no puedo verlo ya que no me carga la web.

@rollth (https://underc0de.org/foro/profile/rollth/), ¿escribiste "www" en el domino? A mi tampoco me cargaba y ese era el motivo.

URL: www.carta.es (http://www.carta.es)
XSS de @pytness (https://underc0de.org/foro/profile/pytness/): www.carta.es/carta.php?id=1158511aaa00933 (http://www.carta.es/carta.php?id=1158511aaa00933)

Ya me di cuenta más tarde, parece que www es un subdominio.
¿Alguien ha encontrado si hay usuarios para ver si es peligrosa?
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Diciembre 15, 2016, 03:59:21 AM
Ya es mi nuevo uploader de imágenes :P

(http://www.carta.es/dibujos/155689789858523eead5249.png)

http://www.carta.es/carta.php?id=155689789858523eead5249

Acá hay otra que subí
(http://www.carta.es/dibujos/1556897898585242a7795c6.png)

http://www.carta.es/carta.php?id=1556897898585242a7795c6

Se podrá subir una webshell? Mmmm, naah porque siempre lo guarda en un png. Pero podrías crear una página web que use sus servicios para subir fotos, es decir sirve como un uploader, jaja.
Otro dato es que no tiene ningún tipo de restricción al parecer en lo que respecta al tamaño de la imagen, se podría hacer un script que suba imágenes de 5megas o más grande aún en cada consulta, eso sería mucha maldad.

Creo que también lo podrías usar como spammer o simplemente para molestar porque pide el correo donde supongo que mandan la carta, en ningún momento tiene una captcha para que no se pueda automatizar todo ese proceso con un simple script en sh.

Suficiente por hoy, saludos!
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 15, 2016, 04:53:59 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Se podrá subir una webshell? Mmmm, naah porque siempre lo guarda en un png. Pero podrías crear una página web que use sus servicios para subir fotos, es decir sirve como un uploader, jaja.
Otro dato es que no tiene ningún tipo de restricción al parecer en lo que respecta al tamaño de la imagen, se podría hacer un script que suba imágenes de 5megas o más grande aún en cada consulta, eso sería mucha maldad.

Creo que también lo podrías usar como spammer o simplemente para molestar porque pide el correo donde supongo que mandan la carta, en ningún momento tiene una captcha para que no se pueda automatizar todo ese proceso con un simple script en sh.

Suficiente por hoy, saludos!

Para subir la imagen tienes q toquetear en el <canvas> no?
Si es asi, es un poco 'tedioso' no?
Aunque lo puedes automatizar con un script :P
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: blackdrake en Diciembre 15, 2016, 09:32:35 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Se podrá subir una webshell? Mmmm, naah porque siempre lo guarda en un png. Pero podrías crear una página web que use sus servicios para subir fotos, es decir sirve como un uploader, jaja.
Otro dato es que no tiene ningún tipo de restricción al parecer en lo que respecta al tamaño de la imagen, se podría hacer un script que suba imágenes de 5megas o más grande aún en cada consulta, eso sería mucha maldad.

Creo que también lo podrías usar como spammer o simplemente para molestar porque pide el correo donde supongo que mandan la carta, en ningún momento tiene una captcha para que no se pueda automatizar todo ese proceso con un simple script en sh.

Suficiente por hoy, saludos!

Habéis probado a subir shell? jajajajaja

Un saludo.
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 15, 2016, 03:35:45 PM
En realidad no envia ningun email, debe tener algun bug :/
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Diciembre 15, 2016, 06:56:59 PM
Otra cosa que me dí cuenta interesante.

La edad es el comienzo del nombre de la imagen (estoy tratando de subir un archivo .php):
Por ejemplo, en este caso puse como edad: amo_underc0de y de resultado me dió este id:

amo_underc0de5853107faec26
(http://www.carta.es/carta.php?id=amo_underc0de5853107faec26)

Es decir que lo que está haciendo es toma la edad y a eso le agrega un hash o una cadena de caracteres con el fin de que las imagenes no reemplacen.

Ahora lo que hice es lo siguiente, a través de Live HTTP Headers, en vez de pasarle a la edad algún número, o valor le pasé un array y este es el resultado:

http://www.carta.es/dibujos/.png
http://www.carta.es/carta.php?id=

O sea pude saltearme el nombre del archivo, es solo curioso porque no nos sirve de mucho.

Ahora esto si es un poco más curioso, puse en la edad "../img/aloja"
Me tiró este id: "../img/aloja5853114c0e85d"

SI entramos  acá: www.carta.es/carta.php?id=../img/aloja5853114c0e85d
Y fijense la url de la imágen... (nos carga http://www.carta.es/img/aloja5853114c0e85d.png pero ahí no está la imágen)

y obviamente la imagen no carga pero, ¿dónde realmente está la imágen?

en /dibujos/... ¿cómo accedo a esa imagen?
No puedo encontrarla.


Si por ejemplo pondríamos de edad el nombre: "../img/reyesmagos.png'/>"
Nos tira un id de: "../img/reyesmagos.png'/>585313983a9f0"
(www.carta.es/carta.php?id=../img/reyesmagos.png'/>585313983a9f0)

Lo que estamos haciendo acá es cargar una imágen de la propia página, ¿pero donde se subió la mía ?
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 16, 2016, 05:47:21 AM
A nadie se le ocurre nada con esto? :
(http://www.carta.es/dibujos/145853a83495377.png)
Se podria incluir un script y mandarselo a alguien  :P
Aunque no he podidio acceder al link :(

ah, se me olvidaba, mirad la url de la imagen  ;) ;D ;D
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Diciembre 18, 2016, 06:11:30 PM
Sí, también noté eso pero es mejor explotarlo por el lado del XSS que ya descubriste vos.
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 18, 2016, 06:37:39 PM
Hm... tienes razon.
De todas formas, he hecho un uploader con ajax y php, aqui va el codigo:
<?php
if (!isset($_POST['img'])) {
?>

<!DOCTYPE html>
<html>
<head>
      <title>Import JS</title>
      <style>
      html, body {
            height: 100%;
            width: 100%;
            margin: 0px;
            padding: 0px;
            overflow: hidden;
            text-align: -webkit-center;
            text-align: -moz-center;
            background-color: green;
            background: repeating-linear-gradient(90deg, #4B4B4B 0%, #737373 100%);
      }
      .thumb {
            max-width: 100%;
            max-height: 100%;
      }
      .c_container {
            width: 800px;
            height: 450px;
            box-shadow: 0px 2px 5px -2px black;

      }
      canvas {
      }

      .interface {
            height: 600px;
            width: 800px;
            margin-top: 50px;
            background-color: white;
            box-shadow: 0px 2px 10px -2px black;
            text-align: left;
      }
      .button {
            margin-top: 10px;
      }
      </style>
</head>
<body>

      <div class="interface">
            <div class="c_container" id="img"></div>
            <input type="file" style="display: none" id="files"/>
            <input type="button" class="button" onclick="document.getElementById('files').click()" value="Get Image">
            <br>
            <input type="button" class="button" onclick="upload()" value="Upload">
            <br />
            Url: <span id="url"></span><br />
            <input type="button" class="button" onclick="copyLink()" value="Copy Url">
      </div>



      <script>
      var imgData = '';
      function fileSelected(evt) {
            var files = evt.target.files;

            for (var i = 0, f; f = files[i]; i++) {
                  if (!f.type.match('[.]*\.(png|jpeg|jpg|ico)')) {
                        alert('Must be a png');
                        return false;
                  }
                  var reader = new FileReader();

                  reader.onload = (function(theFile) {
                        return function(e) {
                              imgData = e.target.result.replace('/x-icon;', '/png;').replace('/jpeg;', '/png;').replace('/jpg;', '/png;').replace('/gif;', '/png;');
                              document.getElementById('img').innerHTML = '<img class="thumb" src="'+ imgData + '"/>';
                        };
                  })(f);

                  // Read in the image file as a data URL.
                  reader.readAsDataURL(f);
            }
      }

      function rand(min, max) {
            return Math.floor(Math.random() * parseInt(max)) + parseInt(min);
      }

function copyLink() {
prompt('Crtl + C, Enter', document.getElementById('url').innerHTML);
}

      function upload() {
            var ajax = new XMLHttpRequest();
            ajax.open('POST', "./up.php", true);
            ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            ajax.onreadystatechange = function() {
                  if (ajax.readyState === 4 && ajax.status == 200) {
                        document.getElementById('url').innerHTML='http://carta.es/dibujos/' + ajax.responseText + '.png';
                  }
            };
            var postData = 'img=' + imgData;
            // alert(postData);
            ajax.send(postData);
      }

      document.getElementById('files').addEventListener('change', fileSelected, false);
      </script>
</body>
</html>
<?php
} else {
$imgData $_POST['img'];
$url 'http://www.carta.es/save.php';
$data = array(
'nombre' => 'Linus Torvalds',
'edad' => rand(199),
'bien' => 'No',
'lista' => 'dscsdv',
'dibujo' => $imgData,
'email' => '[email protected]',
'padre' => 'Linus Torvalds',
);
$options = array(
'http' => array(
'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
'method'  => 'POST',
'content' => http_build_query($data)
)
);
$context stream_context_create($options);
echo file_get_contents($urlfalse$context);
}

?>



No he dedicado mucho tiempo a la interfaz pero funciona.
Creo que no hace falta decir que necesitas un servidor con php, ni que lo podeis editar si quereis (como si no lo fueseis a hacer si os dijese que no  ;D ;D)

EDIT: El archivo necesita llamarse up.php, aunque se puede cambiar si cambiais tambien la ruta a la que se dirige en el ajax.open (linea 95)
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Diciembre 18, 2016, 07:12:36 PM
Aah pero vos hiciste un uploader mucho más completo no sé como funcionará eso no tengo tiempo para probarlo ahora, pero yo decía hacerlo directamente en bash, ¿sabés como usar netcat no? Algo cómo: echo -e "GET / HTTP/1.0\n" | nc www.google.com 80, y lo otro seguro te lo imaginarás.
En este caso tenés que enviar un POST y blablabla, seguro ya lo sabés.

Eso no más, saludos!
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Diciembre 18, 2016, 07:29:49 PM
Pf, shell de linux tengo que aprender (ya se que en el hacking sin saber shell no llego a ningún sitio xD).
De todas formas estoy haciendo un grado medio de informatica (me falta un año para estudiar 'seguridad informática')  y bash lo estudiaré seguro, aunque lo aprenderé x mi cuenta.
Por ahora m dedico a buscar xss y sqli porque en el resto de cosas no llego a estar ni verde :-\

Pytness
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Enero 14, 2017, 12:46:04 PM
Recién ahora después de tanto tiempo me doy cuenta de algo y encima la página al parecer está caída  :'(

Podría haber intentado subir una webshell utilizando la técnica de null byte, porque el único problema era que agregaba .jpg a la extensión del archivo.
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Enero 14, 2017, 01:12:08 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Recién ahora después de tanto tiempo me doy cuenta de algo y encima la página al parecer está caída  :'(

Podría haber intentado subir una webshell utilizando la técnica de null byte, porque el único problema era que agregaba .jpg a la extensión del archivo.
Lleva caida bastante tiempo, desde el año pasado un poco antes de navidades.
Desconozco la tecnica de la que hablas...
Tendré que buscarla :)

Enviado desde mi SM-J510FN mediante Tapatalk

Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: GGZ en Enero 14, 2017, 01:15:33 PM
La edad era el inicio del nombre del archivo.

Viste por ejemplo en C, que todas las cadenas al final tienen un \0 ? Bueno el barra \0 significa fin de cadena.
O sea si vos haces char SALUDO[]="HOLA";

En realidad SALUDO vale: 'H', 'O', 'L' , 'A' y '\0'

Entonces, primero LA EDAD era el comienzo del nombre del archivo, el problema era que hacía esto:

NOMBRE309584305809238402.jpg, es decir agregaba un hash al nombre ¿entendes?
La solución que debería haber intentado es NOMBRE.php%00 el %00 significa fin de cadena, (el fin de cadena es representada de forma distanta en diferentes lenguajes)

Acá está mejor explicado: http://security.stackexchange.com/questions/45955/what-does-it-mean-to-have-a-file-name-with-null-bytes-in-serialized-instances


EDITADO: Te recomeindo para aprender y jugar un rato que juegues a root-me.org
Saludos.
Título: Re:[XSS] Carta para los reyes magos (www.carta.es)
Publicado por: Pytness en Enero 14, 2017, 01:44:03 PM
Acabo de probar a crear un archivo con un byte nulo con php y me ha dado error.
Aunque es posible que esto este condicionado por la version de php.

root-me.org, me lo apunto ;)