Moonpig er et velkendt lykønskningskortfirma i Storbritannien. Du kan bruge deres tjenester til at sende personlige lykønskningskort til dine venner og familie. [Paul] besluttede at gøre nogle grave rundt og opdagede et par sikkerhedsproblemer mellem MoonPig Android-appen og deres API.
Først og fremmest bemærkede [Paul], at systemet brugte grundlæggende godkendelse. Dette er ikke ideelt, men selskabet var i det mindste bruge SSL-kryptering for at beskytte kundens legitimationsoplysninger. Efter dekodning af godkendelseshovedet bemærkede [Paul] noget mærkeligt. Brugernavnet og adgangskoden, der sendes med hver anmodning, var ikke hans egne legitimationsoplysninger. Hans kunde-id var der, men de faktiske legitimationsoplysninger var forkerte.
[Paul] skabte en ny konto og fandt, at legitimationsoplysningerne var de samme. Ved at ændre kunde-id’et i HTTP-anmodningen fra sin anden konto var han i stand til at narre hjemmesiden til at spytte alle de gemte adresseoplysninger for hans første konto. Dette betød, at der i det væsentlige ikke var nogen godkendelse overhovedet. Enhver bruger kunne efterligne en anden bruger. Trækningsadresseoplysninger kan ikke lyde som en big deal, men [Paul] hævder, at hver API-anmodning var sådan her. Dette betød, at du kunne gå så langt som at placere ordrer under andre kundekonti uden deres samtykke.
[Paul] Brugte MoonPigs API-hjælpefiler til at lokalisere mere interessante metoder. En, der stod ud til ham, var GetCreditCardDetails-metoden. [Paul] gav det et skud, og det var sikkert nok, at systemet dumpede kreditkortoplysninger, herunder de sidste fire cifre i kortet, udløbsdatoen og navnet i forbindelse med kortet. Det kan ikke være fuld kortnumre, men det er stadig naturligvis et ret stort problem, der ville blive rettet straks … rigtigt?
[Paul] afslørede sårbarheden ansvarligt til Moonpig i august 2013. Moonpig svarede ved at sige, at problemet skyldtes arvkode, og det ville blive rettet hurtigt. Et år senere fulgte [Paul] op med MoonPig. Han fik at vide, at det skulle løses før jul. Den 5. januar 2015 var sårbarheden stadig ikke løst. [Paul] besluttede at nok var nok, og han kunne lige så godt offentliggøre sine resultater online for at hjælpe med at trykke på problemet. Det ser ud til at have arbejdet. MoonPig har siden deaktiveret sin API og udgivet en erklæring via Twitter, der hævder, at “Alle adgangskode og betalingsoplysninger er og har altid været sikker”. Det er godt og alt, men det ville betyde lidt mere, hvis adgangskoderne faktisk betyder noget.