Inseguridad en sistema de Tracking de OCA

por | 02/20/2015

Realmente es maravilloso hoy en día el nivel de seguimiento que podes tener cuando realizas una compra por Internet, pero a veces si esos sistemas de «tracking» no tienen barreras de seguridad pueden ser un problema para la privacidad de los datos de la gente que utiliza dicho servicio.

El Problema

Hoy les voy a comentar sobre lo que descubrí en el sistema de OCA – http://www.oca.com.ar

Es tan simple como buscar un numero de tracking por el sitio y ver que no tiene ningún tipo de validación, y los numero de tracking parecieran ser consecutivos, así que con un simple bucle se puede recorrer mas de una «orden».

La URL a utilizar es:

  • http://www1.oca.com.ar/ocaepakNet/Views/ConsultaTracking/TrackingConsult.aspx?numberTracking=[número_de_tracking]

El número de tracking, o mas bien la secuencia que probé, es 386750000000XXXXXX ( donde los últimos 6 números son los que se van cambiando para saltar entre ordenes ). Con dicha URL se puede ver el tracking y su historial, pero acá les dejo dos URL mas donde van a poder ver el origen y el destino ( donde hay datos privados de las personas ):

  • Origen: http://www1.oca.com.ar/ocaepakNet/Views/ConsultaTracking/TrackingConsult.aspx?numberTracking=[número_de_tracking]#ui-tabs-1
  • Destino: http://www1.oca.com.ar/ocaepakNet/Views/ConsultaTracking/TrackingConsult.aspx?numberTracking=[número_de_tracking]#ui-tabs-2

Seguramente con un poco mas de investigación sobre el código HTML se puede realizar consultas por JSON, a un webservice, ya que vi que utiliza código JS para traer los datos.

La Solución

Es tan simple como utilizar un sistema de autenticación y para aumentar la seguridad podrían utilizar un un HASH en vez de un número de trancking en limpio.

El sistema de autenticación no tiene que ser nada del otro mundo, puede ser con un USR/PASS temporal o sino que cada usuario se genere/gestione su propia cuenta para administrar el tracking de sus paquetes; en este caso se podría ofrecer un sistema de valor agregado para el usuario, donde puede tener control desde una única cuenta al tracking de varios paquetes… como un ejemplo.

 

Actualización

Tengo excelentes noticias, OCA tomo en cuenta mis comentarios ( o no ) y cambiaron el sitio de tracking, el cual ahora es mediante un HASH ( sin autenticación ).

Lo único raro es que con 2 números diferentes de tracking, la primera parte del hash es igual o por lo menos muy parecida. Habría que analizarlo, pero lo bueno es que ya no podes hacer un script para un proceso batch para bajar los datos de cliente :D

Actualización 2

Tengo una mala noticia, OCA solo enmascaro el problema, les paso a contar:

Compre por ML, me llego el link para ver el trancking y me emocione al ver que la URL tenia un hash, lo abri y efectivamente funcionaba el hash ( por eso la actualización anterior ), pero que paso, me puse a revisar el HTML del sitio y me encuentro con:

"<form name="form1" method="post" action="./TrackingConsult.aspx?numberTracking=[número_de_tracking]" id="form1">"

NOOOOOOOOOOOOOO !!!

Asi que pruebo la url anterior, y funciono. Lamentablemente, lo único que cambiaron es que en el correo no venga el número de tracking, sino el hash, pero no desactivaron desde sus sistemas que puedas verificar con el número en texto plano, simplemente cambias la variable «q» por «numberTracking» y listo :(

Siento haberlos emocionados, pero nuestros datos siguen expuestos…

5 pensamientos en “Inseguridad en sistema de Tracking de OCA

  1. Tomas

    Me olvide de agregar que los primeros 5 numeros corresponden al remitente.

  2. deftoner

    Esto es y sera asi, y en todo el mundo.

    El tema inicial es que el tracking te lo da otra persona. Vos compras por internet, el tipo lo manda y te pasa el tracking number, eso ya es la validacion. Si vos sacaras un usuario quien te envia deberia pedirte el usuario a donde «informarte» el tracking number. Aveces vos comrpas algo y lo mandas a un tercero que esta en un hotel o esta en la casa todo el dia. Por esa razon, no sabes muchas veces el destinatario fisico, por lo que no podes manejar un login (y se volveria engorroso). Lo mismo pasa con los codigos de reserva de vuelos de avion, con el codigo solo chekeas los horarios, aeropuertos, recorridos, etc. Sin validacion de usuario y contraseña.

    Otro tema, el tracking number cambia al cambiar el pais. Deberias tener un usuario en USPS, uno en FEDEX, uno en UPS, uno en OCA, uno en Correo Argentino. Aparte cuando usps entrega el paquete a oca, como harian ellos para linkear tu cuenta de usps con la de Correo argentino?

    No es muy valido lo expuesto.

  3. Sepa Autor

    Deftoner, lo que trato de ver es la manera lógica de no exponer datos a Internet, mas si son de personas. Entiendo cual es el tema que vos comentas, pero me imagino que alguna solución se puede dar, la que propuse yo, como bien dije, es solo un ejemplo. Estaría bueno que si vos vez que no es valido lo expuesto ayudes a pensar una forma que si sea valida y no tan engorrosa como decís.

    Gracias por comentar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.