Come funzionava la vulnerabilità di Tweetdeck XSS?

3

Come funziona esattamente la recente vulnerabilità TweetDeck? Dice qui che ha qualcosa a che fare con il carattere del cuore HTML ma non lo faccio comprendere appieno cosa significa la spiegazione. Dal link:

" I was tweeting about the HTML-heart-symbol (♥), because I didn't know that this is possible," He told The Register in response to questions via email.

TweetDeck is not supposed to display this as an image. Because it's simple text, which should be escaped to '♥'. But in my tweet I used the Unicode-character of the heart as a reference for my followers.

There were two hearts. One was black (at the position where the ♥ was supposed to be) and one was red (this one was the Unicode-char and got replaced by TweetDeck).

So, I started to play around, and discovered, that the Unicode-Heart (which gets replaced with an image by TweetDeck) somehow prevents the tweet from being HTML-escaped. So I used a strong-HTML-tag to verify this ... It worked.

So I wrote a little script which displays a popup and then blocks itself. It worked."

Che cosa era esattamente il vettore di attacco qui? E come ha "in qualche modo impedito che il tweet venisse eseguito con l'HTML"?

    
posta Eels 19.06.2014 - 21:02
fonte

1 risposta

1

Questo attacco ha funzionato per una ragione molto semplice - TweetDeck non ha affatto sanitizzato l'input dell'utente in alcune circostanze. L'aggressore non ha scoperto un modo intelligente per ingannare il filtro XSS. Invece ha trovato un modo per spegnerlo. Come dice la tua citazione:

So, I started to play around, and discovered, that the Unicode-Heart (which gets replaced with an image by TweetDeck) somehow prevents the tweet from being HTML-escaped.

A parte il fatto ovvio che la persona che ha scritto il codice non è stata molto brava nel suo lavoro, possiamo solo ipotizzare perché un cuore unicode spegne il filtro. La mia ipotesi è che volevano rendere il cuore con un tag <img> e che il tag è stato catturato nel proprio filtro. Così hanno fatto una soluzione semplice e hanno disattivato il filtro quando avevano bisogno di inserire HTML in un tweet.

Ma questa è solo una supposizione. Per sapere con certezza dovresti chiederlo, e dubito che risponderanno.

Quindi tutto quello che doveva fare dopo la scoperta era scrivere JavaScript per eseguire il retweet automatico, schiaffeggiare un cuore alla fine e twittarlo. Se hai abbastanza follower che usano TweetDeck, si diffonderà da solo da lì.

Alcune buone spiegazioni non tecniche:

risposta data 14.06.2016 - 16:46
fonte

Leggi altre domande sui tag