Cuando la divulgación responsable no es suficiente
moonpig es una compañía de tarjetas de felicitación bien conocida en el Reino Unido. Puede usar sus servicios para enviar tarjetas de felicitación personalizadas a sus amigos y familiares. [Pablo] decidió hacer algunas excavaciones y descubrió algunas vulnerabilidades de seguridad entre la aplicación de Android de Moonpig y su API.
En primer lugar, [Pablo] notó que el sistema estaba utilizando la autenticación básica. Esto no es ideal, pero la compañía fue al menos usando el cifrado SSL para proteger las credenciales del cliente. Después de decodificar el encabezado de autenticación, [Pablo] notó algo extraño. El nombre de usuario y la contraseña que se envían con cada solicitud no fueron sus propias credenciales. Su identificación de cliente estaba allí, pero las credenciales reales estaban equivocadas.
[Pablo] creó una nueva cuenta y encontró que las credenciales eran las mismas. Al modificar la ID de cliente en la solicitud HTTP de su segunda cuenta, pudo engañar al sitio web a escupir toda la información de dirección guardada de su primera cuenta. Esto significaba que esencialmente no había autenticación en absoluto. Cualquier usuario podría hacerse pasar por su usuario. Puede que la información de la dirección de la dirección no suene como un gran problema, pero [Pablo] afirma que cada solicitud de API fue así. Esto significó que podría ir hasta la realización de pedidos en virtud de otras cuentas de clientes sin su consentimiento.
[Pablo] usó los archivos de ayuda de API de Moonpig para localizar métodos más interesantes. Uno que lo destacó fue el método GetCreditCardDetails. [Pablo] le dio un disparo, y seguro que el sistema descargó los datos de la tarjeta de crédito, incluidos los últimos cuatro dígitos de la tarjeta, la fecha de vencimiento y el nombre asociado con la tarjeta. Puede que no sean números de tarjeta completa, pero este es, obviamente, obviamente, un problema bastante grande que se solucionaría de inmediato … ¿verdad?
[Pablo] reveló la vulnerabilidad de manera responsable a Moonpig en agosto de 2013. Moonpig respondió diciendo que el problema se debía al código heredado y se fijaría con prontitud. Un año después, [Pablo] siguió con Moonpig. Se le dijo que debería ser resuelto antes de Navidad. El 5 de enero de 2015, la vulnerabilidad aún no se resolvió. [Pablo] decidió que lo suficiente era suficiente, y él también podría publicar sus hallazgos en línea para ayudar a presionar el problema. Parece haber trabajado. Moonpig, desde entonces, ha desactivado su API y lanzó una declaración a través de Twitter, afirmando que “toda la contraseña y la información de pago es y siempre ha estado segura”. Eso es genial y todo, pero significaría un poco más si las contraseñas realmente importaban.