Skipping valid payment (SVP) en Facebook

Defino a SVP como un tipo de fallo el cual te permite saltar la validación de un método de pago en el transcurso del proceso ya sea antes o después de la validación, y este también lo puedes llamar bug de salto.

Explicación lógica: En una tienda, vamos a comprar un producto el cual tiene como método de pago tarjetas Visa (cc) al comprar el producto pide los siguientes datos: nombre completo, código postal, país, numero de tarjeta y el cvv. Al ingresar los datos de nuestra tarjeta en el formulario de pago el producto va a hacer comprobado pero en este caso —  nuestra tarjeta no tiene dinero. Por lo tanto en el proceso de pago, al tener dinero se envía una respuesta TRUE, donde me comunica de que el pago fue satisfactorio y si no hay dinero manda una respuesta FALSE. Pero el punto principal es generar un proceso con respuesta TRUE con nuestra tarjeta sin dinero, haciendo una compra exitosa sin tener saldo en nuestra cuenta generando una equivocación de comprobación en el resultado del método de pago.

Ejemplo:

Si encuentras un Cross-site request forgery (CSRF) y el proceso de este te permite saltar un formulario de pago, formando una equivocación en el proceso de validación de pago esto se define como CSRF tipo SVP.

Corriendo en Facebook

El 23 de diciembre del 2014, hice una publicación en mi pagina personal de facebook sobre el lanzamiento de la nueva versión de mi cms hubpi, tenía 20 USD en una de mis cuentas de paypal y quería hacer una promoción de la publicación del lanzamiento para que muchas personas vieran y usaran el cms.

En esas fechas, paypal hizo una actualización a sus sistemas de pago por lo que me causó mucha curiosidad testear y ver que podría encontrar, la primera prueba la hice en github lo cual fue un proceso efectivo donde se pudo saltar el método de pago obteniendo cuenta premium leer mas en “Skipping” payment and then premium on Github lo curioso fue que github nunca respondió al reporte enviado, pero estos repararon este pequeño error en la metodología de pago haciendo que después de un mes de una declinación de la cuenta.

Después de hacer la promoción en facebook, me pidió un método de pago en este caso utilicé paypal.

Skipping valid payment (SVP) en Facebook

Tu cuenta paypal tiene que estar atada a una CC para que pueda ser validada en la configuración de la api de pago de paypal configurada por facebook. Al darle click en “Agree and Pay Now” nuestra cuenta va a ser agregada y registrada en nuestro perfil de facebook como fuente de pago directa, pero después de 10 minutos eliminamos nuestra fuente de pago y volvemos a hacer el mismo proceso.

Por lo tanto facebook registra una cantidad casi infinita de dinero en tu cuenta, esta cantidad se refleja solo en facebook.

Ejemplo

Cuenta: ([email protected]) 11155755567778 USD.

Una vez tengamos el registro anterior podemos ir al proceso de promociones de anuncios en nuestra Fanpage.

Actualización 2026: la clase de vulnerabilidad SVP sigue vigente

Lo que este artículo de 2015 describe —saltar la validación de un método de pago manipulando el flujo del proceso— pertenece a una clase de fallos conocida como vulnerabilidades de lógica de negocio. La Guía de pruebas de seguridad web de OWASP incluye las pruebas de lógica de negocio como una categoría propia, precisamente porque estos fallos no los detecta un escáner automático: requieren entender el proceso y probar sus estados.

Desde 2015 los flujos de pago incorporaron capas adicionales de verificación, pero la lección central no cambió: toda decisión de pago debe validarse del lado del servidor y ningún estado intermedio del lado del cliente debe asumirse como confiable. Los fallos de lógica de negocio siguen siendo una categoría relevante en la seguridad de aplicaciones porque viven en el diseño del proceso, no en el código de una librería.

Nota responsable: reproducir este tipo de pruebas contra sistemas reales sin autorización expresa es una actividad ilícita. El valor de este artículo es histórico y didáctico: muestra por qué los flujos de pago deben diseñarse asumiendo un cliente hostil.

Actualización 2026: el bug bounty una década después

En 2015 el autor dudaba si reportar el fallo; hoy el camino estándar de la industria es la divulgación coordinada. Meta mantiene su programa de recompensas por vulnerabilidades, por el que los investigadores reportan fallos de seguridad y reciben compensación en lugar de explotarlos.

El ecosistema creció alrededor de plataformas como HackerOne, que publica informes anuales sobre el estado del bug bounty y la comunidad de hackers éticos. Lo que en 2015 era una decisión individual con incentivos inciertos es hoy una industria con reglas, alcances definidos y programas públicos.

La moraleja del relato original sigue vigente: un fallo de validación de pagos no reportado termina siendo descubierto y cerrado de todos modos —en el artículo, con cuentas en deuda y perfiles baneados— mientras que el reporte responsable convierte el hallazgo en reputación y recompensa legítima.

Skipping Valid Payment - 2

Ese es el valor de dinero estancado generado por facebook, se puede llamar en este caso un ACPR tipo checked donde las respuestas de comprobación son un TRUE. Después de configurar nuestra promoción damos click en Promocionar y nuestra promoción irá a revisión por 5 minutos.

Después de ello nuestra promoción se va al ruedo, esto no es infinito es finito en el caso de que se establece un ciclo y facebook detecta bajas acciones como menos comentarios y likes dependiendo del tipo de anuncio y los resultados que se quieren obtener.

Ejemplo:

Esta es una de las promociones puestas a prueba, los resultados obtenidos han sido bastante agradables.

Skipping Valid Payment - 3

Después de un ciclo, facebook detecta malas acciones y se da cuenta de que fue un error la validación y publicación de la promoción y pone tu cuenta en un estado de deuda, que tienes que pagarle a facebook.

Skipping Valid Payment - 4

Resumen de la deuda.

Skipping Valid Payment - 5

Mediante este error en la validación de pago, la suma que pone facebook en tu cuenta es muy grande. Por lo tanto, es posible invertir en promociones de anuncios hasta más de 1,000 USD.

El error es de Facebook o paypal?

Durante todo el estudio del proceso el error es de paypal, pero también de facebook. Ya que las configuraciones de la api de paypal para establecer el mecanismo del método de pago agregado es totalmente personalizado por Facebook.

No hay banneo?

Tienes que generar más perfiles de facebook para seguir promocionando, ya que una vez que facebook detecte malas acciones y te aparezca la deuda, tu perfil queda quemado.

Por lo tanto se generan otros perfiles, y al agregar la misma cuenta de paypal. Facebook te puede bannear, pero puedes desbannear fácilmente tu facebook enviándole una carta con tu documento de ciudadanía haciendo que te desbanneen aproximadamente en menos de una semana.

Que podemos hacer con este SVP en Facebook?

A finales de enero hablando con un amigo, Felipe Mogro un gran amigo le comenté que tenía un bug en facebook pero no sabía mucho que hacer con él, ya que en el inicio solo le estaba haciendo promociones a paginas de tiendas cobrando por ello.

El me hablo acerca de CPM, la forma de ganar dinero por mil impresiones platicamos de conversiones y estadísticas en anuncios publicitarios para obtener dinero mediante las promociones de facebook. Fue algo estupendo, desde ahí comencé a generar impresiones en anuncios y obtener algo de dinero junto a Felipe.

Bueno, ustedes se preguntarán por qué no reporté el fallo a facebook o paypal?

Tenía una inseguridad de informarle a facebook ya que las estadísticas de validación de un reporte en facebook son de 1% a 10% dependiendo el tipo de bug. Pero se corre el riesgo con el 90% de que facebook te engañe y te diga que anteriormente alguien ya había reportado el fallo y estos no te den ningún tipo de recompensa y días mas tarde reparen el bug, suele pasar.

Si aquí rompo alguna ética, facebook no rompe la suya al no recompensar en un 100% a los fallos de seguridad que son reportados constantemente por muchos investigadores de seguridad en el mundo?

El día de hoy.

Facebook, ha puesto un pequeño filtro en la autenticación del método de pago, pero es muy fácil de saltarse.

Se generan varios perfiles, los cuales se validan con una sola cuenta paypal atada a una tarjeta de crédito. En este caso se detecta una acción negativa y facebook bannea las cuentas, pero como lo dije anteriormente. Si envías tu documento facebook te desbannea las cuentas y puedes hacer los anuncios sin problemas.

La otra función del filtro es bannear, la cuenta paypal que ha sido usada por más de 5 perfiles de facebook por lo tanto es mejor agregar una dirección paypal diferente.

Este error no ha sido informado, está libre para todos, pero salió primero en La Comunidad DragonJAR.

Saludos.

Artículo escrito por Jose Pino (@jofpin) para La Comunidad DragonJAR.

Happy hacking!

¿Sus flujos de pago resisten un análisis de lógica de negocio?

Los fallos de validación de pagos no los encuentra un escáner automático: requieren pruebas manuales de lógica de negocio hechas por especialistas. Conozca nuestros servicios de seguridad informática y evalúe sus aplicaciones como lo haría un atacante, antes de que lo haga uno real.