SME
Sobota, 31. október, 2020 | Meniny má AurelaKrížovkyKrížovky

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

Skryť Vypnúť reklamu

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

Skryť Vypnúť reklamu

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?

Skryť Vypnúť reklamu
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.

Skryť Vypnúť reklamu

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.

Skryť Vypnúť reklamu

Najčítanejšie na SME Tech

Skryť Vypnúť reklamu
Skryť Vypnúť reklamu
Skryť Vypnúť reklamu
Skryť Vypnúť reklamu

Hlavné správy zo Sme.sk

Naď očakáva, že počas víkendu otestujú aspoň tri milióny ľudí

Najväčšie problémy spôsobovali drive through odberové miesta.

celoplošné testovanie na Covid-19.
Premiér Matovič hovorí o prvých výsledkoch testovania.

Vo svete píšu o nepresných testoch aj o výzve prezidentky

Únia sa môže Slovenskom inšpirovať, ak sa projekt podarí.

Testovanie v obci Štiavnické Bane.
Sean Connery v bondovke Žiješ len dvakrát.

Neprehliadnite tiež

Podcast Klik

Klik: Apple pravdepodobne pracuje na vlastnom vyhľadávači

Komentovaný prehľad technologických správ.

Podcast Klik
Podcast Tech_FM

Čierne diery sú aj také, aké by nemali byť

Čo nás učí gravitačná astronómia.

Inzercia - Tlačové správy

  1. Poznáte najbohatšie firmy sveta? Podiel v nich majú aj Slováci
  2. Dokážu benzínové fukáre odolať výzve akumulátorových?
  3. Pôžička bez úrokov a poplatkov? Áno, existuje
  4. Pracujete? Vaše odvody zachraňujú podvýživené zdravotníctvo
  5. 1,6 milióna stavených na Trumpa! Kto bude mať pravdu?
  6. Koronakríza: Pomoc našej banky počas pandémie ocenili vo svete
  7. Magazín SME Ženy už v predaji
  8. Nové Porsche Panamera spája nespojiteľné
  9. UNIQA preberá dôchodkové fondy AXA, pre klientov sa nič nemení
  10. Pandémia urýchlila štart online duálneho vzdelávania
  1. Nechajte zamestnancov vybrať si služobné auto, oplatí sa vám to
  2. Moringa a Ginkgo - pomocníci z prírody
  3. Pracujete? Vaše odvody zachraňujú podvýživené zdravotníctvo
  4. 1,6 milióna stavených na Trumpa! Kto bude mať pravdu?
  5. O prenájom auta majú čoraz väčší záujem aj malé firmy. Ušetria
  6. Koronakríza: Pomoc našej banky počas pandémie ocenili vo svete
  7. Magazín SME Ženy už v predaji
  8. SPS ukončí rok miliónovými investíciami
  9. Dokážu benzínové fukáre odolať výzve akumulátorových?
  10. Trh s elektromobilmi stagnuje. Kríza by mu mohla pomôcť
  1. Novodobý slovenský Baťa. Zamestnancom stavia domy 38 556
  2. Aplikáciu tohto Slováka používajú v 150 krajinách. Ako začínal? 26 599
  3. Pohoda v domácnosti sa odvíja od jednej veci. Neuveríte, od akej 19 469
  4. Príjem vs. dôchodok. Realita, na ktorú sa treba pripraviť 16 847
  5. Tradičná plodina zo Slovenska mizne. Čo sa deje so zemiakmi? 15 328
  6. Pracujete v IT? Táto slovenská firma neustále prijíma ľudí 14 383
  7. ARÓNIA a RAKYTNÍK - podporí tvoju imunitu v boji s vírusmi 12 559
  8. O levočský „nanozázrak“ sa zaujíma európsky trh 11 718
  9. Toto sú povolania budúcnosti. Niektoré prekvapili 11 106
  10. LEN DNES: Zľava viac ako 50% na ročné predplatné týždenníkov MY 10 600