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

SVET

Opäť si zavaril. Trump nevie skrývať, že je rasista

Trump útočí na Mexičanov, nemá rád Afroameričanov. Prezidentovi neveria, že nie je rasista.

KOMENTÁRE

Trumpova Amerika prichádza o líderstvo

Neschopnosť a nepredvídateľnosť Trumpa je dôvodom pádu povesti USA.

Neprehliadnite tiež

Prečo hrá mozog džezového a klasického pianistu rovnakú skladbu inak

Mozgy džezových a klasických pianistov fungujú rozdielne. Dokonca aj vtedy, keď hrajú tú istú skladbu.

Spravili krok k včasnému odhaleniu rakoviny, krvný test má veľkú úspešnosť

Test dokázal určiť aj päť typov rakoviny, na ktoré doteraz neexistuje skríning.

TECH_FM

Historici sa mýlia, čiernu smrť roznieslo čosi iné

Nový výskum naznačuje, ako sa problém šíril.

NASA testuje jadrový reaktor pre astronautov na Marse

Prvotné testy kompaktného reaktora v americkej Nevade boli úspešné.

Legendárna hra Age of Empires sa vráti v modernom prevedení vo februári

Hru museli v mnohých smeroch prepracovať, aby fungovala na moderných počítačoch.

Inzercia - Tlačové správy


  1. Egejská riviéra: Ktoré letovisko je pre vás najlepšie?
  2. Slovensko má pralesy, púšť aj kameňopád. Už ste ich videli?
  3. Volkswagen T-Roc: Pre nerozhodných
  4. Leto 2018 v Grécku s odletom z Bratislavy
  5. Dlhopisy 7,25 % p.a. majú najvýhodnejšiu nákupnú cenu v roku
  6. Zelené Grunty vám ponúknu viac, ako očakávate
  7. Kam do tepla v januári?
  8. First moment Turecko: využite zľavy na špičkové hotely
  9. Konzultácia so svetovými odborníkmi dokáže zachrániť život
  10. Demänovku mieša iba jeden človek. Ako si strážia receptúru?
  1. Objavte majestátne Tatry kúsok po kúsku
  2. Alarica – new business project in the market of shoes
  3. Ako jazdiť na snehu alebo ľade?
  4. Egejská riviéra: Ktoré letovisko je pre vás najlepšie?
  5. Slovensko má pralesy, púšť aj kameňopád. Už ste ich videli?
  6. Toto tajomstvo vrcholoví športovci dlho skrývali
  7. Vlani sme si vyberali z vyše pol milióna inzerovaných áut
  8. V centre našej pozornosti sú zákazníci. Už 50 rokov
  9. Začiatok roka patrí dani z nehnuteľností
  10. Volkswagen T-Roc: Pre nerozhodných
  1. Egejská riviéra: Ktoré letovisko je pre vás najlepšie? 14 185
  2. Slovensko má pralesy, púšť aj kameňopád. Už ste ich videli? 8 846
  3. Volkswagen T-Roc: Pre nerozhodných 4 133
  4. Toto tajomstvo vrcholoví športovci dlho skrývali 3 485
  5. Tatra banka spustila najmodernejší internet banking pre firmy 2 803
  6. Leto 2018 v Grécku s odletom z Bratislavy 2 626
  7. Kam do tepla v januári? 1 967
  8. First moment Turecko: využite zľavy na špičkové hotely 1 796
  9. Dlhopisy 7,25 % p.a. majú najvýhodnejšiu nákupnú cenu v roku 1 619
  10. Zelené Grunty vám ponúknu viac, ako očakávate 973