Programuotojų klaidą pastebėjo vienos biurą Vilniuje turinčios tarptautinės bendrovės, kurioje dirba daug IT specialistų, kolektyvas. Nuolat susidurdami su parkavimo vietų nemokamoje aikštelėje trūkumu jie buvo priversti laikas nuo laiko palikti savo automobilius savivaldybės prižiūrimoje mokamoje aikštelėje, tačiau kaina įtiko ne visiems.
Vienas šio kolektyvo darbuotojas, nenorėjęs skelbti nei savo vardo, nei įmonės pavadinimo, 15min pasakojo, kad buvo bandoma sumažinti parkavimo kainą interneto svetainėje perkant abonentinius leidimus, suteikiančius teisę statyti automobilį žaliojoje ir geltonojoje zonoje tam tikrą laiką – nuo mėnesio iki trijų. Ir kokia buvo jų nuostaba, kai jie pastebėjo, kad nesudėtingos manupuliacijos leidžia įsigyti parkavimo leidimą ne už SISP reikalaujamo dydžio rinkliavą, o už pačių susigalvotą sumą.
Savo kainą programuotojai sugebėjo pasiūlyti modifikuodami svetainės kodą: naršyklėje jie panaikino „readonly“ (tik skaitomas) atributą nuo langelio, kuriame įrašoma apmokėjimo suma (tą gali padaryti kiekvienas – tereikia „Chrome“ naršyklėje paspausti mygtuką F12, susirasti dominančią svetainės vietą ir pasirinkti ją pasinaudojus „Select an element in page to inspect it“ įrankiu). Taigi, svetainės modifikavimas, matomas tik tam pačiam naudotojui jokiu būdu nėra „hakinimas“ arba „sistemos nulaužimas“.
Bet didžiausią programuotojų nuostabą sukėlė tai, kad bankui perduodamame mokėjimo nurodyme suma imama iš to paties ganėtinai nesudėtingai modifikuojamo langelio, o ne iš sisteminių nustatymų, kurie nėra prieinami išoriniams vartotojams. Tokiu būdu, sumokėjus vos 58 centų administracinį mokestį (ir banko taikomą įkainį už pervedimą) galima buvo apmokėti parkavimą.
Apie klaidą pirmiausiai buvo pranešta parkavimo leidimus išduodančiai įmonei SISP, vėliau susisiekta ir su 15min redakcija.
Patikrinime šį metodą patys – iš tiesų ir kaina keičiasi, ir bankui apmokėjimo nurodymas suformuojamas su pačių sugalvota kaina, ir netgi SISP elektroniniu paštu atsiunčia patvirtinimą, kad apmokėjimas sėkmingai įvykdytas.
Galimybė pasinaudoti spraga buvo, pasinaudojusių – ne
SISP atstovas spaudai Tomas Šiuškus, paprašytas pakomentuoti situaciją, tvirtino: „Klaida buvo pašalinta tą pačią dieną, kai tik buvo apie ją sužinota. Aptikta klaida su mumis pasidalino ir pats asmuo, kuris ją pastebėjo, o visi atlikti mokėjimai jau yra grąžinti“.
Administracinį mokestį jau kitą dieną po leidimo parkuotis išdavimo SISP sugrąžino ir į klaidos veikimą išbandžiusio žurnalisto sąskaitą.
„Mūsų duomenimis, mažesnių nei nustatytas rinkliavos dydis mokėjimų atlikta nebuvo (tik klaidą pastebėjusio asmens ir jūsų [žurnalistų – red.] atvejai). Tam, kad vartotojas galėtų savavališkai įvesti norimą rinkliavos dydį, pvz., 0 eurų, jam reikėtų įsibrauti į sistemą, t. y. vartotojas turėtų mokėti ir gebėti pakeisti savitarnos tinklalapio kodą, o tam reikia specifinių žinių“, – rašė T.Šiuškus.
Anot jo, įprastas vartotojas be specifinių įgūdžių ar žinių tiesiog įvesti norimos pinigų sumos tikrai negali – sistema tik leidžia rinktis, kurioje vietinės rinkliavos zonoje ketinama statyti automobilį, ir pagal tai sugeneruojamas mokėjimas iš anksto nustatytai sumai.
Tiesa, kito redakcijos eksperimento metu programuotojas per kelias dešimtis sekundžių surašė kodą, kurį aktyvavus mokėjimo sumos nustatymui naudojamas skaičius buvo prilyginamas 0 eurų, o tą kodą parking.lt svetainėje galėjo panaudoti ir žmonės be jokių specifinių žinių bei gebėjimų.
„Asmenį, kuris aptiko šią klaidą, mes planuojame pasikviesti į svečius ir pakalbėti apie tai, kaip gimė tokia idėja išbandyti mūsų tinklalapio saugumą. Tik aptikęs klaidą asmuo mus apie tai informavo, tačiau norime priminti, kad mūsų įmonės savitarnos tinklalapio kodo keitimas ar bandymas pasiekti kitas informacines sistemas, pažeidžiant apsaugos priemones, gali būti laikomas duomenų klastojimu. Nesant žalos kreiptis į teisėsaugos institucijas šiuo atveju neplanuojame, tačiau į kiekvieną mūsų sistemos duomenų keitimo ar įsibrovimo į sistemą atvejį reaguosime atskirai“, – sakė SISP atstovas spaudai.
Pajamų praradimas – tik geriausiu atveju
Anot spragos atradėjo, negautos pajamos už automobilio statymo leidimus būtų turbūt menkiausia eibė, kurią tokioje interneto svetainėje galėtų iškrėsti išmanesni ar mažiau sąžiningi vartotojai.
„O jeigu per tą redaguojamo turinio eilutę kas nors pasiustų kodo įterpimą ir numestą visą duomenų bazę ar susikurtų privilegijuotą prieigą?“, – svarstė programuotojas, pridūręs, kad jeigu žinia apie spragą viešai būtų pasklidusi anksčiau, nei ją būtų sužinoję SISP atstovai, būtų nesunku sukurti ir naršyklės įskiepį, kuris leistų visiškai be jokių žinių užsisakinėti beveik nemokam parkavimo paslaugą.
„Čia reikia pelenais galvą barstytis ir greitai taisyti, kol žinia nepasklido“, – sakė jis.