Reports
BAJA[LÓGICA DE NEGOCIO]#3378540

HackerOne: el formulario de canje de recompensas entregaba licencias de Burp Suite Pro sin comprobar la cuenta

El canje de la licencia de Burp Suite Pro del programa de puntos de HackerOne era un formulario de Google sin ligar a la cuenta: bastaba con cambiar de email para recibir licencias válidas una y otra vez.

Resumen
Resumen en castellano de un reporte público, no una traducción literal. El código y los comandos se mantienen como en el original.

Resumen

HackerOne lanzó un sistema de puntos y recompensas para sus investigadores. Al llegar al nivel 4, el premio era una licencia de Burp Suite Pro de 3 meses, patrocinada por PortSwigger. El aviso llegaba por correo con un botón "Redeem it here" que llevaba a un formulario de Google.

El problema estaba en ese formulario: no tenía ninguna relación con la cuenta de HackerOne de quien lo rellenaba. No se comprobaba si el usuario había llegado de verdad al nivel 4 ni si ya había canjeado el premio. Bastaba con enviarlo varias veces con correos distintos para recibir una licencia válida en cada uno.

El reporte figura como control de acceso inadecuado (Improper Access Control - Generic), con severidad baja. Se resolvió y recibió recompensa, aunque el importe no es público. Se envió el 10 de octubre de 2025 y se divulgó el 18 de marzo de 2026.

Pasos de reproducción

  1. Llegar al nivel 4 del programa de puntos y recibir el correo de HackerOne con el premio. El texto relevante decía:
Hi theokeen,
You’ve reached Level 4!
This time, your reward is a 3-month Burp Suite Pro license, made possible by our partners at PortSwigger.
Redeem it here.
  1. Pulsar "Redeem it here", que abre un formulario de Google (la dirección está censurada en el reporte público).
  2. Rellenar el formulario con una primera dirección de correo y enviarlo. Llega una licencia válida a ese correo.
  3. Volver a enviar el mismo formulario con una segunda dirección de correo distinta.
  4. Llega una segunda licencia, también válida, al segundo correo. Nada relaciona la petición con la cuenta que ganó el premio.

Impacto

Como no había ningún mecanismo de validación (por ejemplo, comprobar que el correo pertenece a una cuenta real de nivel 4), un atacante podía generar cientos de licencias válidas de Burp Suite Pro gratis solo con ir cambiando de correo. Eso supone un abuso del sistema de recompensas y una pérdida económica importante para el patrocinador, PortSwigger.

Remediación

El reporte marca el fallo como resuelto, pero no cuenta qué cambió el programa. El investigador proponía:

  • Verificar la identidad antes de entregar la licencia, por ejemplo exigiendo autenticación o comprobando el nivel de la cuenta.
  • Permitir un solo canje por cuenta o por identificador único.
  • Añadir límite de peticiones o CAPTCHA para frenar el abuso automatizado.

Qué aprender de este caso

  • Cuando un premio, cupón o licencia se canjea fuera de la aplicación (formularios de Google, Typeform y similares), revisa si el enlace lleva algo ligado a tu cuenta o si es igual para todos: si es igual, prueba a enviarlo dos veces con datos distintos.
  • El correo que escribe el usuario en un formulario no identifica a nadie. Para canjear un premio hay que autenticar al usuario, o enviar un enlace con un token de un solo uso que solo sirva para su cuenta, y anotar en el servidor que ya lo ha canjeado.
  • Los programas de fidelización y de premios a menudo quedan fuera del producto principal y de sus controles. Merece la pena mirarlos aunque parezcan ajenos al alcance técnico habitual, sobre todo si regalan algo con valor económico de un tercero.