Facebook Like button XSS

A Facebook Like gombjának egy csomó előnye van. Az egyik például az, hogy mivel előbb-utóbb ott lesz minden weboldalon, ha esetleg valamilyen security bug van benne, akkor az szinte a teljes internetet érinteni fogja. Mint ahogyan érinti is.

Lássuk csak, hogyan készül egy Like button!

Kezdetben vala a gombra vágyó felhasználó (szándékosan nem fejlesztőt írtam), aki elvándorol a Facebook ide vonatkozó oldalára és varázsol magának egy iframe darabkát, amit beilleszt az oldalába. Ezzel még nincs is gond. A probléma ott jön elő, amikor emberünk rájön, hogy “de jó lenne ez a gomb az összes oldalamra!”, és elkezdi anatómiailag elemezni a bemásolt kódrészletet, például:

  <iframe src="http://www.facebook.com/plugins/like.php?
href=http%253A%252F%252Fbalassy.spaces.live.com
&amp;layout=standard
&amp;show_faces=false
&amp;width=450
&amp;action=like
&amp;font
&amp;colorscheme=light
&amp;height=35" scrolling="no" frameborder="0"
style="border:none; overflow:hidden; width:350px; height:22px;"
allowTransparency="true">
</iframe>

Nem kell atomfizikusnak lennie, hogy rájöjjön, a href után az aktuális oldal URL-jét kell bemásolni. Hogy is szoktuk azt csinálni? “Hát ASP.NET-ben például azt írjuk oda, hogy <%= this.Request.Url %>, Javascriptben meg azt, hogy document.URL, és biztos PHP-ben is van hasonló.” Az sem gond, ha elsőre nem működik, hiszen a Google mindenre tudja a választ, hamar lehet működő kódrészletet vagy plugint találni. Nem is kell hozzá programozónak lenni, elég hozzá olvasni és kopipésztelni tudni.

Mivel főhősünk nem programozó, észre sem fogja venni, hogy a neten terjedő kódrészletek igen jelentős hányada ész nélkül másolja be a kapott URL-t a weboldal forráskódjába. Tipikus cross-site scripting melegágy, nem is kell hozzá atomfizikusnak lenni, hogy találjunk egy olyan inputot, ami kihasználja, például:

  http://example.com/oldal.kiterjesztes?" onload="javascript:alert('XSS')" nincsilyen="

Nyilván környezettől és böngészőtől függ, hogy pontosan hogyan és meddig lehet eljutni, de a lényeg, hogy sebesen terjednek a kihasználható kódrészletek, ráadásul szerencsétlen felhasználók észre sem veszik, ha ilyen oldalba futnak.

Még az is lehet, hogy meglájkolják.

 

Technorati-címkék: ,,,

One thought on “Facebook Like button XSS

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s