[XSS] Carta para los reyes magos (www.carta.es)

  • 18 Respuestas
  • 6768 Vistas

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

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 14, 2016, 08:10:50 am
Imagenes:


Url: 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
« Última modificación: Diciembre 14, 2016, 04:04:55 pm por rollth »
Pytness

Desconectado d0r127

  • *
  • Underc0der
  • Mensajes: 116
  • Actividad:
    0%
  • Reputación 1
  • Sin hocico y paranoico
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (carta.es)

  • 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?

Desconectado rollth

  • *
  • Ex-Staff
  • *****
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:[XSS] Carta para los reyes magos (carta.es)

  • en: Diciembre 14, 2016, 11:31:21 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?

En ese caso sería persistente, yo no puedo verlo ya que no me carga la web.

Desconectado HATI

  • *
  • Moderador Global
  • Mensajes: 453
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (carta.es)

  • en: Diciembre 14, 2016, 01:43:10 pm
Efectivamente es persistente, a mi me salta el alert de @pytness cuando introduzco su id.

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

@rollth, ¿escribiste "www" en el domino? A mi tampoco me cargaba y ese era el motivo.

URL: www.carta.es
XSS de @pytness: www.carta.es/carta.php?id=1158511aaa00933
« Última modificación: Diciembre 14, 2016, 01:44:42 pm por HATI »


Jugar o perder

Desconectado rollth

  • *
  • Ex-Staff
  • *****
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:[XSS] Carta para los reyes magos (carta.es)

  • en: Diciembre 14, 2016, 04:07:21 pm
Efectivamente es persistente, a mi me salta el alert de @pytness cuando introduzco su id.

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

@rollth, ¿escribiste "www" en el domino? A mi tampoco me cargaba y ese era el motivo.

URL: www.carta.es
XSS de @pytness: 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?

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 15, 2016, 03:59:21 am
Ya es mi nuevo uploader de imágenes :P



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

Acá hay otra que subí


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!
« Última modificación: Diciembre 15, 2016, 04:38:02 am por GGZ »

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 15, 2016, 04:53:59 am

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
« Última modificación: Diciembre 16, 2016, 01:11:46 pm por Gabriela »
Pytness

Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1968
  • Actividad:
    3.33%
  • Country: es
  • Reputación 16
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 15, 2016, 09:32:35 am

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.
« Última modificación: Diciembre 16, 2016, 01:12:29 pm por Gabriela »


Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 15, 2016, 03:35:45 pm
En realidad no envia ningun email, debe tener algun bug :/
Pytness

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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 ?
« Última modificación: Diciembre 15, 2016, 07:15:30 pm por GGZ »

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Diciembre 16, 2016, 05:47:21 am
A nadie se le ocurre nada con esto? :

 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
Pytness

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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.

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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:
Código: [Seleccionar]
<?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)
« Última modificación: Diciembre 19, 2016, 07:08:10 am por Pytness »
Pytness

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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!
« Última modificación: Diciembre 18, 2016, 07:20:39 pm por GGZ »

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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
« Última modificación: Diciembre 18, 2016, 07:34:25 pm por Pytness »
Pytness

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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.

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • en: Enero 14, 2017, 01:12:08 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.
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

Pytness

Desconectado GGZ

  • *
  • Underc0der
  • Mensajes: 51
  • Actividad:
    0%
  • Reputación 0
  • COME AT ME BRAAAAH.
    • Ver Perfil

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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.
« Última modificación: Enero 14, 2017, 01:26:49 pm por GGZ »

Desconectado Pytness

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:[XSS] Carta para los reyes magos (www.carta.es)

  • 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 ;)
Pytness

 

[XSS Reflejado] Centro para el Control y Prevención de Enfermedades cdc.gov

Iniciado por xavicibi

Respuestas: 1
Vistas: 305
Último mensaje Agosto 19, 2020, 01:02:53 pm
por AXCESS