maanantai 11. huhtikuuta 2016

Näin hakkeri tilasi ilmaisen pizzan

Näin hakkeri tilasi ilmaisen pizzanSuuri maailmanlaajuinen pizzeriaketju Domino’s Pizza on kehittänyt mobiilisovelluksen jonka avulla asiakkaat voivat tilata pizzan olinpaikkaansa, siinä oli kuitenkin perustuvanlaatuinen virhe.

Brittiläinen hakkeri Paul Price tutkiskeli pizzaketjun tarjoamaa Androidille tarkoitettua mobiilisovellusta selvittääkseen kuinka sen satunnaisesti tarjoama 10 punnan alennuskoodi tarjotaan asiakkaalle.

Tätä asiaa tutkiessaan Price kuitenkin löysi jotain muutakin mielenkiintoista ohjelman toiminnasta, hän löysi tavan kuinka sovellus käsittelee maksutapahtumia.

Ohjelma keskustelee laskutuspalvelun kanssa API-kyselyin, tämä ei kuitenkaan tapahdu siten että itse käsittely tehtäisiin ohjelmiston ulkopuolella vaan kaikki on näkyvillä melko yksinkertaisin keinoin tutkimalla ohjelman sekä palvelun välistä liikennettä eräänlaisella omalla välityspalvelimella jonka läpi kaikki tietoliikenne ohjataan.

API-kyselyt ovat siis ohjelman sekä laskutuspalvelun välillä suojaamattomina sekä selkokielisenä näkyvillä.

Paul Price antoi ohjelmalle keksityn VISA-numeron koska halusi nähdä mitä laskutuspalvelu vastaa, oletetusti tilaus ei mennyt läpi mutta virhesanoma olikin tässä vaiheessa se mitä hakkeri halusi.

Laskuttajan virhesanoma:

virhesanoma

Virhesanoma tarjosi rimpsun tietoa, mistä kortista on kyse sekä tilaukseen liittyvät tiedot.

Kiinnostavin kohta tässä oli <reason> sekä <status> tietuekentät, Price päätti kokeilla lähettää sanoman takaisin, ohjeistamalla välityspalvelimensa muuttamaan näitä kahta riviä hieman.

<reason> kohtaan hän vaihtoi tekstin: ACCEPTED eli hyväksytty sekä <status> kohtaan hän vaihtoi numeroksi 1.

Price halusi testata voisiko tällä saada tilauksen läpi.

Muutoksen jälkeen sovellus näytti vievän tilauksen eteenpäin ja ilmoitti että pizza on tällä hetkellä uunissa.

Domino's pizzaketjun tilauksenseuranta

Price kuitenkin epäili ohjelmaa, eikä tietenkään ollut varma oliko API-kutsujen muuttamisella sinänsä mitään merkitystä lopputulokseen joten hän soitti lähimpään Domino’s Pizzan myymälään ja tiedusteli tilaustaan, yllättäen asiakaspalvelija kertoi että tilaus on nähty ja pizza on kotiovella noin 20 minuutin kuluttua.

Price oli innoissaan aluksi mutta ymmärsi hyvin pian mitä oli tekemässä, kun jo pizzalähetti kolkutteli ovella. Kun Price meni vastaanottamaan pizzaa, kertoi hän lähetille että tilauksessa oli luultavasti jotain vikaa sillä se ei kysynyt lainkaan hänen pankkikorttiaan ja päätti siten maksaa pizzansa lähetille.

Paul olisi saanut itselleen ilmaisen pizzan mutta omatunto voitti tässä tapauksessa :)

Tapahtumasta on aikaa jo noin kolmisen vuotta ja Domino’s Pizza on päivittänyt mobiilisovelluksensa.

LÄHDE: Graham Cluley