Il Javascript Injection è una tecnica utilizzata dagli hacker per modificare il contenuto di un sito senza uscire dal sito, quindi online. Questo può tornare molto comodo ad esempio se ci fosse la necessità di spooffare il server editando alcune opzioni di un form presente sul sito. Gli esempi di seguito riportati spiegheranno meglio questo concetto e vi aiuteranno a capire come utlizzarlo.
Injection: come iniziare
Il Javascript Injection si esegue dalla barra degli indirizzi del browser, con aperta la pagina su cui si vuol fare injection. Per utilizzarlo bisogna vuotare completamente la barra degli indirizzi. Javascript è eseguito direttamente dalla barra degli indirizzi utilizzando il protocollo 'javascript:'. In questo articolo vedremo solo le basi di una javascript injection, lasciando poi all'utente la possibilità di esplorare tutte le funzioni piu' avanzate ricercando un po' in internet. I due comandi base di esempio qui trattati saranno alert() e void(). Del resto saranno quelli che più utilizzarete in caso di un javascript injection. Il vostro primo javascript è molto semplice e consiste nell'aprire una finestra con la scritta "Libra Security"; come prima cosa andata su una pagina qualsiasi con il vs. browser (che deve avere Javascript abilitato!) poi digitate nella barra degli indirizzi:
javascript:alert('Libra Security'); Dovreste ottenere una piccola finestra con la scritta "Libra Security".
E' possibile passare anche più di un comando per volta, come nel seguente esempio:
javascript:alert('Libra Srl'); alert('Security Division'); Quest'ultimo esempio aprirà due finiestre.
Cookie Edititng
Come prima cosa verificate che il sito che state visitando si avvalga dell'utilizzo di un cookie, digitanto il seguente comando:
javascript:alert(document.cookie);
Questo comando aprirà una finestra con le informazioni contenute nel cookie.
Per editare le informazioni presenti nel cookie, utilizzeremo il comando void():
javascript:void(document.cookie="Campo = Valore"); Questo comando può sia modifcare un valore esistente nel cookie, che creare un nuovo campo all'interno del cookie stesso. Modificate 'Campo' con un qualsiasi campo che avete ottenuto dal comando alert(document.cookie), e cambiate 'Valore' con qualsiasi valore vogliate. Ad esempio supponendo che il primo comando ci avesse indicato al presenza nel cookie di un campo: Authorized=no potremmo digitare:
javascript:void(document.cookie="Authorized=yes"); per cambiare tale valore da no a yes!
Il risultato dell'injection dipende ovviamente dal sito su stato effettuando l'injection stessa!
Per verificare di aver effettivamente modificato il cookie potere ripetere il comando alert(document.cookie).
Form Editing
Qualche volta per editare i valori di un form inviato ad un sito web, è semplicemente possibile fare il download della pagina web sul disco fisso, editare i valori della pagina e eseguirla localmente. Tuttavia spesso i siti verificano se i dati che vengono inviati tramite form provengano o meno da sito da cui si aspettano la provenienza, rendendo inutilizzabile la tecnica dell'edit offline della pagina. Ecco quindi che torna estremamente utile la tecnica dello Javascript Injection! Possiamo infatti editare i valori del form direttamente online tramite javascript. E' importante notare come i cambiamenti effettuati siano solo temporanei e quindi come tale tecnica non sia utilizzabile per modificare permanentemente delle pagine web!
Tutti i form di una pagina web (a meno che non siano nominati appositamente) sono identificati in un array form[x] che parte da 0 e cresce con il numero dei form presenti sulla pagina: il primo form dall'alto in basso nella pagina sarà ID=0, il secondo ID=1 e così via... Prendiamo il seguente esempio:
<form action="http://www.website.com/submit.php" method="post"> <input type="hidden" name="to" value="
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
"> Essendo il primo form della pagina sarà referenziato come form[0]. Ipotizziamo che questo form sia utilizzato per mandare informazioni vitali all'indirizzo email
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
, e che noi volessimo cambiare tale indirizzo mettendo il nostro; supponiamo anche che non si possa fare il download della pagina per modificarla in quando lo script submit.php esegue un controllo sul sito di provenienza. Utilizzando javascript possiamo verificare quale valore contiene un certo campo di un form con il seguente comando:
javascript:alert(document.forms[0].to.value) Molto simile al comando alert(document.cookie) sopra spiegato... In questo caso aprirebbe una finestra con il valore "
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
".
Ecco quindi il comando per fare Inject del tuo indirizzo email, utilizzando la stessa semplice tecnica vista per il cookie:
javascript:void(document.forms[0].to.value="
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
") Questo camberà l'email presente originariamente nel form con la vostra! Potete come al solito verificare il lavoro fatto con il comando alert().
Lasciamo alle capacità di ognuno indagare sulle potenzialità di quanto sopra, pensando molto bene quali contromisure adottare in fase di implementazione di un sito web!
Paolo Frizzi
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
|