Kako se izogniti nevarnosti SQL vrivanja?

Matej Kovačič

4. jul 2019 ob 11:40:36

SQL vrivanje (SQL injection) je preprost in žal še vedno razmeroma pogost napad na spletne aplikacije. V osnovi poteka tako, da napadalec v vnosna polja spletne aplikacije vnaša delce programske kode (SQL ukaze). S tem ranljivo aplikacijo prepriča, da mu posreduje podatke iz zaledne baze (npr. gesla, seznam uporabnikov, ipd.), do katerih sicer ne bi smel imeti dostopa.

SQL vrivanje je mogoče preprečiti s tim. filtriranjem vnosov, obstaja pa še bolj enostaven način, in sicer, da spletna aplikacija sploh ne uporablja SQL baze. Slednjega pristopa so se očitno poslužili na spletni strani MyStops.eu. Gre za spletno stran, ki je namenjena popotnikom, saj omogoča hitro iskanje in pregled postankov ter prikaz navodil za pot do izbranega postanka.

Spletna stran omogoča tudi registracijo uporabnikov, ki lahko beležijo svoje postanke in jih delijo z drugimi popotniki. In kjer je potrebna registracija, je potrebna tudi zaledna zbirka podatkov. In če je zaledna zbirka podatkov v SQL bazi, je spletna aplikacija lahko ranljiva za SQL vrivanjem.

Tako so se pri MyStops.eu odločili, da bodo podatke shranjevali kar v tekstovno datoteko. Ki je bila v duhu transparentnosti do nedavnega kar javno dostopna. Tako so lahko "Google hekerji" kar s pomočjo hekerskega orodja z imenom brskalnik pregledovali seznam registriranih uporabnikov, vključno z njihovimi e-naslovi in gesli za dostop do portala.

Pošiljanje podatkov v objavo (raziskovalno novinarstvo in 'whistleblowing')

Slo-Tech redno raziskuje in opozarja na nepravilnosti, ki jih posredujejo notranji prijavitelji (t.i. whistleblowerji) in drugi viri. Za komuniciranje z le-temi poleg običajnih kanalov uporablja storitev SecureDrop, ki ob izvajanju osnovnih varnostnih ukrepov omogoča relativno zaupno posredovanje dokumentov.
Storitev je preko omrežja TOR na voljo na naslovu: http://wxm23trged7cneqk.onion

O ranljivosti na spletni strani smo obvestili Informacijskega pooblaščenca. Seznam strank sedaj ni več dostopen.