2013-03-09 9 views
11

Quando ho usato l'API Open Graph di Facebook, ho notato che le risposte JSONP generate da Facebook sembravano avere un "/ ** /" estraneo all'inizio di ogni risposta così:Perché i callback JSONP di Facebook iniziano con "/ ** /"

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

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

Perché è questo?

risposta

6

Abbiamo aggiunto questo per proteggere contro un attacco in cui un sito di terze parti ignora il tipo di contenuto della risposta eseguendo: < tipo oggetto = "application/x-shockwave-flash" data = "http://graph.facebook.com?callback=[specificamente creato flash byte "> </oggetto >

Google fa qualcosa di simile, eccetto che usano // ... + \ n (ad es. http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json&callback=foo)

+0

Questo significa che il flash accetta un file SWF, come con contenuti aggiuntivi alla fine? (la risposta API) – molnarg

+0

Beh, l'ho provato e sembra che flash * non * accetti byte aggiuntivi alla fine dei * file SWF non compressi *. – molnarg

+0

[Riferimento] (https://en.wikipedia.org/wiki/JSONP#Rosetta_Flash) all'exploit, alias Rosetta Flash, apparentemente. La vulnerabilità sembra essere che i byte flash appositamente predisposti eseguano il pensiero di trovarsi sul sito di destinazione (facebook.com) e quindi di accedere a dati di origine identica (cookie, archiviazione locale, presumo) ma possono quindi inviare tali informazioni a la terza parte. –

2

Certamente per evitare XSSI modificando ... quindi non è possibile eseguirlo ...

http://maxime.sh/2013/02/javascript-quest-ce-que-le-xssi-et -comment-leviter/& USG = ALkJrhhjfdwBrK7kxNipOowAYacIcJm89g "> Ecco un post francese blog su che (con Google Traduttore)

-1

Sembra come Facebook sta utilizzando uno scrubber sulla loro JSON, ed è solo lasciare il commento titolare deve continuare all'inizio Molto probabilmente lasciano i commenti lì per scopi di debug, ma in produzione i commenti effettivi vengono rimossi

Problemi correlati