Credit cards are vulnerable to brute force attacks

· coding · Source ↗

TLDR

  • A breached ecommerce account exposed masked PAN + expiry, enabling attackers to brute-force the remaining ~99k card numbers and 999 CVV combinations across multiple payment APIs in 6 hours.

Key Takeaways

  • PCI DSS allows showing BIN (first 6) + last 4 digits + expiry, leaving only 6 middle digits to brute-force; Luhn checksum reduces that to ~99,999 candidates.
  • Payment gateway error codes distinguish “invalid card”, “expired”, and “wrong CVV”, directly enabling staged brute-force with feedback.
  • Attackers used ~6 req/sec spread across multiple stolen merchant APIs and rotating proxy IPs, making rate-limit detection nearly invisible per endpoint.
  • Some merchants are bank-exempted from 3D Secure, creating liability-shifted payment paths that bypass SMS auth entirely.
  • Physical receipts showing BIN + last 4 + expiry provide the same attack surface without any account breach required.

Hacker News Comment Review

  • Commenters pushed back that card scheme rules (Visa/Mastercard) heavily penalize merchants and processors for card enumeration; Stripe and others use ML to detect it, suggesting the attack exploited weak processors not mainstream ones.
  • Consensus that 3D Secure adoption gap is the core systemic issue: it is rarely enforced in the US, which forces global card issuers to support non-3DS flows, undermining fraud prevention worldwide.
  • Several commenters noted that authorization and settlement are architecturally separate, and that chargeback liability shifts to 3DS-exempt merchants, meaning fraud costs are ultimately socialized across all consumers via pricing.

Notable Comments

  • @janpeuker: Card testing is actively penalized by card schemes; this attack vector relies on processors that do not enforce enumeration controls.
  • @tialaramex: Settlement and Authorization are separate; the blog omits how merchant liability shifts in chargeback cases involving 3DS-exempt merchants.

Original | Discuss on HN