Dokument: hackeri o prieniku do VasaAdresa.sk

Dokument doručený do redakcie SME, v ktorom hackeri popisujú postup možného útoku na VasaAdresa.sk, zverejňujeme, aby sa mohli voči podobnému útoku zabezpečiť aj iné slovenské servery, u ktorých sa vyskytuje podobná chyba. V popísanom postupe sú vynechané presné príkazy, ktoré môžu slúžiť k neautorizovanému vstupu do systému. Zverejnený bol až po oprave chyby spoločnsoťou eTechnologies. Redakcia.

Popis prieniku do systému WWW.VASAADRESA.SK

Úvod


www.vasaadresa.sk je platená - a podľa úvodnej obrazovky profesionálna - webhostingová služba prevádzkovaná spoločnosťou eTechnologies s.r.o. (okrem iného prevádzkovateľ portálu Azet.sk). Nasledovný popis vážnej bezpečnostnej trhliny v systéme vasaadresa.sk ukazuje, že prevádzkovateľ služby má čo vysvetľovať svojim klientom, ktorí ju s dôverou využívajú.

Systém pri pokuse o prihlásenie a zadaní nesprávneho hesla neinformuje užívateľa o tom čo sa stalo (nesprávne meno/heslo), iba vypíše znovu prihlasovací formulár.
Po následných experimentoch s rozličnými prihlasovacími menami (ďalej len LOGIN) a heslami sme zistili, že po zadaní prihlasovacieho mena (užívateľského ID), ktoré nie je číselné, nám systém ochotne ponúkne informáciu o neúspešnosti databázovej požiadavky (QUERY) a ešte ochotnejšie nám túto query aj vypíše. Na ilustráciu prikladáme jednu z takto získaných chybových hlášok:


CHYBA
Popis chyby:
Unknown column 'asd' in 'where clause'
Dotaz:
SELECT * FROM Zakaznik Z LEFT JOIN ZakaznikUdaje U ON U.idZakaznik=Z.idZakaznik WHERE Z.idZakaznik=asd AND Z.heslo='asd'

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/web/vasaadresa.sk/vasaadresa.sk/noweb/funkcie/hPrihlasenieLog.p on line 3

Z tejto informácie vieme zistiť (okrem toho že sme sa dozvedeli kompletnú cestu ku skriptom, teda máme predstavu o adresárovej štruktúre webu a zčasti aj o štruktúre databázy) že vznikla chyba v query "SELECT * FROM Zakaznik Z LEFT JOIN ZakaznikUdaje U ON U.idZakaznik=Z.idZakaznik WHERE Z.idZakaznik=asd AND Z.heslo='asd'" a ďalej nám to - po krátkej analýze, ktorá profesionálnemu programátorovi nerobí ani najmenší problém - poskytlo informáciu, že originálna query je zapísaná nejako takto...

SELECT * FROM Zakaznik Z LEFT JOIN ZakaznikUdaje U ON U.idZakaznik=Z.idZakaznik WHERE Z.idZakaznik=$login AND Z.heslo='$pass'

... kde $login je užívateľské ID z formulára a $pass je heslo z formulára.

Tieto informácie nám postačili na vytvorenie užívateľského mena, ktoré nám dovoľuje vstúpiť do užívateľského priestoru ktoréhokoľvek užívateľa systému. Postup je približne nasledovný (v záujme bezpečnosti nebudeme uvádzať úplný postup)...
Popis prieniku

Autentifikačný mechanizmus pracuje na spôsobe požiadania databázy o informácie užívateľa, ktorý je jednoznačne identifikovaný užívateľským ID a heslom. Pokiaľ by tieto informácie boli korektné, systém vráti PRÁVE JEDEN záznam (kedže predpokladáme, že užívateľské ID je unikátne - jednoznačné). My však pomocou menšej úpravy query dokážeme donútiť systém, aby nám vrátilo všetky záznamy v databáze a potom pomocou limitovania riadkov vieme systém donútiť k vráteniu práve jedného riadku - toho, ktorý potrebujeme. Tým nás systém považuje za autentifikovaných, zapíše si autentifikačný token - záznam o prihlásení - a povolí nám operácie v užívateľskom priestore.

V systéme však existuje aj užívateľ, ktorý ma nastavené administrátorské privilégiá a môže schvaľovať, zamietať a inak modifikovať platby, užívateľské kontá a priestory. Postup na získanie administrátorského konta je úplne totožný, stačí len vytipovať správneho užívateľa. Možnosti administrátora môžeme ukázať na priložených screenshotoch.

Čo ďalej?

Takéto chyby sú v systémoch na dnešnom internete časté a bežné. Avšak web developeri sa ich snažia ochrániť aspoň spôsobom, že skrývajú chybové hlášky a queries pred nepovolanými očami. Keby takto urobili aj eTechnologies, nestalo by sa to. Naviac by sa takéto prešľapy nemali stávať pri platenej službe (navyše označovanej ako “profesionálna”), kde ide okrem iného aj o osobné údaje zákazníkov, a informácie o finančných transakciách. Bezpečnostnú chybu sme objavili a sledovali od začiatku poskytovania služby vasaadresa.sk (niekoľko mesiacov dozadu), počas celej doby boli prístupné (a potenciálne zneužiteľné) všetky údaje, a administrovateľné všetky hosťované domény.

Toto nie je prvý problém s bezpečnosťou u eTechnologies, z minulosti sú známe početné prieniky do služby Pokec.sk, alebo z nedávnej minulosti známy problém so službou Fotoalbumy.sk, kde bolo možné nepovolanými užívateľmi prezerať súkromné zaheslované fotografie.

Programátori by si mali dať pozor na to, aké queries píšu a čo dovolia užívateľom vkladať do query. Dokument o SQL injection (ako sa tento postup nazýva) sa nachádza na tejto linke: http://www.nextgenss.com/papers/advanced_sql_injection.pdf

Záver

Vyhlasujeme, že sme žiadne zo získaných informácií nezneužili ani nepoužili v náš prospech, ani v neprospech eTechnologies, a tento dokument vznikol ako ukážkový príklad chýb pri tvorbe obsahu a systémov na dnešnom internete.

Referencie

Linky v tejto sekcii patria technológiám, ktorých sa tento dokument týka, ako aj informačným dokumentom o technikách SQL injection a ostatných technikách, použíteľných pri prieniku do web aplikácie.

Najčítanejšie na SME Tech


Hlavné správy zo Sme.sk

EKONOMIKA

Chuť hranolčekov z ulice Únia nezmení

Zmenu v návrhu nariadenia vyrokovalo Belgicko, aby sa nezmenila výroba dvakrát smažených hranolčekov z pouličných stánkov.

KOMENTÁRE

Andrássyovci milovali ženy, na Gemeri dodnes žijú ich potomkovia

O Betliari hovorí Július Barczi.

KOMENTÁRE

Fico, Danko a Bugár slabnú. Kto miesto nich zosilnel?

Podľa preferencií by koalícia nezostavila vládu.

Neprehliadnite tiež

Vedci ukázali, aké majú ľudia nezvyčajné sexuálne túžby

Štúdia naznačila, že rozdiel medzi mužmi a ženami nie je veľký.

Mliečna dráha má cudzí pôvod, ukázali astrofyzici

Nový vesmírny fenomén odhalil, ako sa objavila časť hmoty hmoty v galaxiách.

Antibiotiká netreba vždy dobrať, naznačuje nová analýza

Odborníci spochybnili odveké pravidlo pri užívaní antibiotík. Pacienti by však nemali prerušovať liečbu.

Letiská začnú kontrolovať každý kus elektroniky samostatne

Tienenia, akumulátory a plechy sťažujú pohľad do útrob elektronických zariadení.

Inzercia - Tlačové správy


  1. Nenaleťte pochybným predajcom jazdeniek
  2. K-Classic – značka, ktorá pomáha!
  3. Recept na príjemné ráno od „majstra rozkoší“ Daniela Nekonečného
  4. Odteraz pri volaniach už nemusíte rátať minúty
  5. Ako pracujú horskí záchranári? Tieto veci by ste nemali podceniť
  6. Návod, ako získať maximum pri nákupoch s kreditkou
  7. Mexická Oaxaca: Vonia čokoládou a jedinečnými pyramídami
  8. Dobrý internet v meste i na vidieku. Dostupný je takmer všade
  9. Na tieto veci sa oplatí myslieť pred odchodom na dovolenku
  10. Volkswagen Golf: Odpoveď na takmer všetky otázky
  1. Modesta Real Estate sprostredkovala pre Emil Frey halu v P3
  2. Recept na príjemné ráno od „majstra rozkoší“ Daniela Nekonečného
  3. K-Classic – značka, ktorá pomáha!
  4. Pred 25 rokmi musela byť jazdenka zo západu
  5. Odteraz pri volaniach už nemusíte rátať minúty
  6. Nenaleťte pochybným predajcom jazdeniek
  7. Cíťte sa v priestore príjemne
  8. Ktorý odšťavovač má najvyššiu výťažnosť?
  9. Ako pracujú horskí záchranári? Tieto veci by ste nemali podceniť
  10. Ako si vybrať wc a umývadlo?
  1. Odteraz pri volaniach už nemusíte rátať minúty 9 866
  2. Ako pracujú horskí záchranári? Tieto veci by ste nemali podceniť 4 425
  3. Volkswagen Golf: Odpoveď na takmer všetky otázky 4 372
  4. Dobrý internet v meste i na vidieku. Dostupný je takmer všade 4 157
  5. Mexická Oaxaca: Vonia čokoládou a jedinečnými pyramídami 3 928
  6. Návod, ako získať maximum pri nákupoch s kreditkou 3 918
  7. Na tieto veci sa oplatí myslieť pred odchodom na dovolenku 2 786
  8. Vietnam: Krajina, ktorá rozmazná jedlom a uchváti históriou 2 618
  9. I cez prázdniny testujte elektrobicykle 1 813
  10. Nenaleťte pochybným predajcom jazdeniek 1 672