2013-03-09 2 views
11

Als ich die Open Graph API von Facebook nutzte, bemerkte ich, dass die von Facebook generierten JSONP-Antworten am Anfang jeder Antwort ein irres "/ ** /" hatten wie folgt:Warum beginnen die JSONP-Callbacks von Facebook mit "/ ** /"

URL: 
https://graph.facebook.com/SOME_ID?method=get&pretty=0&sdk=joey&callback=FB.__globalCallbacks.f1c77f051c 

Response: 
/**/ FB.__globalCallbacks.f887adeec(...); 

Warum ist das?

Antwort

6

Wir fügten das hinzu, um zu schützen gegen einen Angriff, bei dem eine Drittanbieter-Site den Inhaltstyp der Antwort umgeht: < Objekttyp = "application/x-shockwave-flash" data = "http://graph.facebook.com?callback=[speziell hergestellt Flash-Bytes] "> </Objekt >

Google macht etwas ähnliches, außer dass sie // ... + \ n verwenden (z. B. http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json&callback=foo)

+0

, dass die Flash Heisst akzeptiert eine SWF-Datei wie mit zusätzlichem Inhalt am Ende? (die API-Antwort) – molnarg

+0

Nun, ich habe es getestet und es scheint, dass Flash * * zusätzliche Bytes am Ende von * unkomprimierten * SWF-Dateien akzeptiert. – molnarg

+0

[Referenz] (https://en.wikipedia.org/wiki/JSONP#Rosetta_Flash) zu dem Exploit, alias Rosetta Flash, anscheinend. Die Schwachstelle scheint zu sein, dass die speziell gestalteten Flash-Bytes in der Annahme laufen, dass sie sich auf der Zielseite (facebook.com) befinden und daher Zugriff auf Daten gleichen Ursprungs (Cookies, lokaler Speicher, vermute ich) erhalten, diese Informationen aber an diese senden können der Dritte. –

2

Sicherlich XSSI zu verhindern ... so können Sie es nicht ausführen ...

http://maxime.sh/2013/02/javascript-quest-ce-que-le-xssi-et -comment-Leviter/& USG = ALkJrhhjfdwBrK7kxNipOowAYacIcJm89g "> Dies ist eine französische Blog-Post über die (mit google Translate)

-1

Scheint, wie Facebook einen Wäscher auf ihrer JSON verwendet, und es ist nur den verbleibende Kommentar Halter am Anfang verlassen Sehr wahrscheinlich hinterlassen Kommentare dort zu Debugging-Zwecken, aber in der Produktion werden die tatsächlichen Kommentare geschrubbt.

Verwandte Themen