come si può iniettare codice dannoso in un URL dall'aspetto innocente?

7

Sto imparando sugli attacchi XSS. Wikipedia dice che in un attacco non persistente un utente malintenzionato può fornire un URL dall'aspetto innocuo che "punta a un fidato sito ma in realtà ha un vettore XSS. " Come sarebbe questo? Qualcuno può fornire un esempio?

    
posta bernie2436 12.04.2013 - 18:23
fonte

4 risposte

5

Un utente malintenzionato può utilizzare un servizio di abbreviazione URL come bit.ly:

http://bit.ly/114E7Q5

Il sito XSS è venuto da link !

Se si tratta di un attacco di phishing e l'URL è importante, l'utente malintenzionato può codificare l'URL o i caratteri chiave di codifica UTF-8 per oscurare i tag HTML. La maggior parte delle persone ignora comunque i lunghi URL.

related: XS filter Evasion Cheat Sheet .

    
risposta data 12.04.2013 - 18:29
fonte
9

Ho scritto un blog su un problema di sicurezza nel browser Safari Mobile di iOS. Che praticamente ti permette di mascherare un URL. Il buco è stato risolto con iOS 5.2, credo e il buco che conosco per un fatto non è più disponibile in iOS 6.x. Ma in breve la gente può trovare buchi di sicurezza in determinati tipi di browser Web, quindi usarli a proprio vantaggio. Nel caso di iOS è stato praticamente solo un caso di usare qualche JavaScript sciatto con iframe. Mi piace il seguente.

<script type="text/javascript">
document.getElementById('one').onclick = function() {
    myWindow = window.open('http://www.apple.com', 'eintitel', 'width=200,height=100,location=yes');
    myWindow.document.write("<html><head></head><body><iframe src=\"http://techmeout.org\");></iframe></scri+pt></body></html>");
    myWindow.focus();
    return false;
}
</script>

Come puoi vedere ci sono due URL: link e il mio blog . Se visualizzati su determinati dispositivi Apple mobili, visualizzerai www.apple.com nella barra degli indirizzi, ma guarda i contenuti del mio blog anziché quelli di Apple.

    
risposta data 14.04.2013 - 07:58
fonte
1

Il Cross-Site Scripting è fondamentalmente un codice che può essere inserito nella pagina per te o per tutti. Questa è la differenza tra XSS non persistente e persistente.

Un esempio di XSS persistente sarebbe come (avrai bisogno di tag script):

http://www.example.com/post.php?=[post data on page]

http://www.example.com/post.php?=alert('XSS')

Se questo viene memorizzato in un database e pubblicato nella pagina, tutti vedranno un avviso JavaScript.

Un esempio di XSS non persistente sarebbe come (avrai bisogno di tag script):

http://www.example.com/search.php?=[post data on page, only for this query]

http://www.example.com/search.php?=alert('XSS')

Solo le persone con i dati dei post in quell'URL vedrebbero il tuo avviso dal momento che non è stato archiviato.

    
risposta data 12.04.2013 - 18:39
fonte
1

Questo non ha a che fare con gli attacchi XSS, ma vale la pena menzionare il carattere mirror UNICODE che rende potenzialmente pericoloso un URL innocente.

link

Se controlli il codice sorgente di questa risposta, vedrai che il codice è:

&#8238;http://elgoog.im/search?q=moc.elgoog.www://ptth

Potrebbe essere utilizzato per essere reindirizzato a un sito Web potenzialmente dannoso.

Inoltre, se non puoi cliccare su un link, dovrai copiarlo e incollarlo. Nessuno lo digiterà manualmente!

http://elgoog.im/search?q=moc.elgoog.www://ptth

NOTA: il carattere del mirror non rispecchia la pagina Web!

    
risposta data 12.04.2013 - 20:06
fonte

Leggi altre domande sui tag