| |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
Esercizi Sicurezza - Attacchi Web - Lezione 5/5/2011 Clicca QUI per vedere il messaggio nel forum |
gennaro |
Ciao a tutti!!
Apro questo post (nella speranza che lo legga qualcuno)
per aiutarci a risolvere insieme gli esercizi proposti dagli esercitatori
http://gamebox.laser.dico.unimi.it/sec2/web1/index.html
Del warm up non sono riuscito a fare
It's easy (deve essere una cazzata clamorosa ma ci sto perdendo tempo)
Never trust biscuit (ho capito che la chiave di tutto sono i cookie, ho pensato che disabilitandoli avrei risolto il problema, ma facendo così nn si muove + nulla)
Gli esercizi sull'HTML:
qualcuno riesce darmi aiuto su WhiteHouse
e su Pack-man e WISYNWIG che sono collegati, visto che nel livello Pack-man c'è uno script che possiamo trovare appunto nel livello WISYNWIG
Speriamo che qualcuno risponda :) |
zack1988 |
Questa é la soluzione per it's easy:
ho creato un file html con
PHP:
<html>
<body>
<form action="http://gamebox.laser.dico.unimi.it/sec2/web1/html-easy/index.php" method="post" style="text-align:center;">
<p><input name="key" type="text" value="" /></p>
</form>
</body>
</html>
Spero di essere stato utile |
zack1988 |
La soluzione di "Watch out for your head!":
Nell'header HTTP della pagina c'é
"X-CheckThisOut: la chiave e` header_rocks" |
zack1988 |
Shopping ha la stessa soluzione di "it's easy": Ho modificato il tag:
<input type="hidden" name="prezzo" value="5947" />
PHP:
<form method="post" action="http://gamebox.laser.dico.unimi.it/sec2/web1/html-hidden/hidden.php" id="form">
<table style="margin-top: 2em; margin-bottom: 2em;" cellpadding="4" cellspacing="0" border="1">
<tr>
<th>Prodotti da acquistare</th>
<th>Prezzo</th>
<th>Quantità</th>
<th>Totale</th>
</tr>
<tr>
<td>Televisore LCD 42 ''</td>
<td class="center">€ 5.947,00</td>
<td class="center"><input type="text" name="qt" value="1" size="5" /></td>
<td class="center">€ 5.947,00</td>
</tr>
<tr>
<td colspan="4" class="center">
<input type="hidden" name="prezzo" value="1" />
<input type="submit" value="Aggiorna" name="aggiorna" />
<input type="submit" value="Compra" name="compra" />
</td>
</tr>
</table>
</form>
|
simoki |
Soluzione per PackMan:
lo script è
//eval function strrev(s){if(!s)return'';var a='';for(i=s.length-1;i>=0;i--){a+=s.charAt(i)}return a};function checkpass(){var s;clear=new Array();clear[11]='s';clear[8]='i';clear[3]='u';cl
ear[13]='x';clear[4]='s';clear[6]='a';clear[14]='s
';clear[9]='o';clear[0]='o';clear[10]='n';clear[7]
='t';clear[12]='u';clear[5]='c';clear[1]='b';clear
[2]='f';s=document.getElementById("pw").value;s=strrev(s);if(s==clear.join("")){alert("Hai vinto!")}else{alert("Naaa, riprova...")}};
è facile ricavarne la password :D |
zack1988 |
non si capiva bene lo script perché era compresso in una riga.
forse cosí é piú umano:
PHP:
function strrev(s) {
if (!s) return '';
var a = '';
for (i = s.length - 1; i >= 0; i--) {
a += s.charAt(i)
}
return a
};
function checkpass() {
var s;
clear = new Array();
clear[11] = 's';
clear[8] = 'i';
clear[3] = 'u';
clear[13] = 'x';
clear[4] = 's';
clear[6] = 'a';
clear[14] = 's';
clear[9] = 'o';
clear[0] = 'o';
clear[10] = 'n';
clear[7] = 't';
clear[12] = 'u';
clear[5] = 'c';
clear[1] = 'b';
clear[2] = 'f';
s = document.getElementById("pw").value;
s = strrev(s);
if (s == clear.join("")) {
alert("Hai vinto!")
} else {
alert("Naaa, riprova...")
}
};
|
zack1988 |
Esercizio Catch me!
Non so se é giusto ma ...........
Tenere cliccato il pulsante 9, si nota che il focus é sul tasto 1, quindi premere enter e poi tab per passare al tasto 2 e cosí via ....... al tasto 9 lasciare il click. |
simoki |
catch me!
io ho risolto "intercettando" catchme.js , modificando la funzione buttonover(id) con
function buttonover(id)
{
return;
}
non so se è lo scopo dell'esercizio ma funziona |
gennaro |
grazie a tutti per le risposte, nonostante ciò ci sono alcune cose che nn mi tornano...
1) WhiteHouse: avete scritto
"nella GET cambia
Referer: http://gamebox.laser.dico.unimi.it/sec2/web1/ con http://whitehouse.gov/intranet/req.asp
e cambia il tuo User-Agent con WhitehouseBrowser/1.2"
MA DOVE E' LA GET?? visto che se clicco sul link mi viene subito fuori l'alert e nella pagine con "Access Denied" non c'è nessuna get
2) Watch out for your head!
"Nell'header HTTP della pagina c'é
"X-CheckThisOut: la chiave e` header_rocks"
TRA I TAG <head></head> NON TROVO NESSUNA SCRITTA SIMILE A QUELLA...NON C'E' DA NESSUNA PARTE?? Guardo nel posto sbagliato?
3) catch me!
sicuramente è giusto modificare lo script, anche io ho fatto così, quello di zack1988 non so neanche che tipo di "attacco" sia, mai pensato prima di risolvere un livello in un modo simile :D
4) il programma burpsuite vi funziona?? a me ci mette anni a caricare le pagine, attese infinite, tanto che per risolvere i livelli uso la console javascript di chrome o visualizzo i sorgenti e modifico tramite il browser perchè cn quel programma ci mette secoli... |
gennaro |
p.s. cmq non riesco a capire cosa faccia la function checkpass... |
zack1988 |
Cia Gennaro,
2) è lo header http, non lo head della pagina html. (http://it.wikipedia.org/wiki/Hypert...ansfer_Protocol), riesco a vederlo grazie a un'estensione di firefox che è web developer oppure guarda qui http://php.net/manual/en/function.get-headers.php (è una pagina php che stampa l'header)
3) per catch me, mi sembrava troppo semplice modificare lo script ;)
checkpass:
- dichiare un array che contiene : obfuscationsuxs
- prende il valore della pwd
- "ribalta" la pwd (funzione strrev )
- controlla che la stringa ottenuta sia uguale all'array
Quindi per far in modo che ti ritorni "hai vinto" devi scrivere sxusnoitacsufbo
Quelli successivi non riesco a farli, trovo alcuni indizi ma non capisco come si faccia a trovare la soluzione.
Ciao |
gennaro |
INCREDIBILE! SONO RIUSCITO A SUPERARE IL LIVELLO DELL'ADMIN AREA!!!!! :D
p.s. domanda strastupida...continuo a nn capire il livello della WhiteHouse...fino a cambiare UserAgent ok, fatto non ci vuole nulla...non capisco però dove devo modificare x far vedere che arrivo dalla http://whitehouse.gov/intranet/req.asp
Qualche idea sul livello WISYNWIG? |
zack1988 |
come hai fatto per "admin area" sono curioso.
Grazie |
simoki |
Originally posted by gennaro
INCREDIBILE! SONO RIUSCITO A SUPERARE IL LIVELLO DELL'ADMIN AREA!!!!! :D
p.s. domanda strastupida...continuo a nn capire il livello della WhiteHouse...fino a cambiare UserAgent ok, fatto non ci vuole nulla...non capisco però dove devo modificare x far vedere che arrivo dalla http://whitehouse.gov/intranet/req.asp
Qualche idea sul livello WISYNWIG?
Ciao Gennaro con Burp (o simili) intercetti la GET e modifichi il Referer
http://it.wikipedia.org/wiki/Referer
WISYNWIG ancora niente.. |
gennaro |
grazie simoki, il problema è che non uso burp ma firefox con tutte le varie add on e quindi se non ho tutti i tools necessari non riesco a risolvere l'esercizio (x esempio all'inizio nn potevo visualizzare gli header perchè mi manca firebug e infatti non riuscivo a risolvere quello stupidissimo esercizio "Watch out for your head!")
evidentemente sono costretto ad usare burp, anke se lo odio XD
per ADMIN AREA ho dovuto fare parecchie ricerche..ho trovo su google una cosa interessante, .htpasswd che prima nn sapevo bene cos'era e come funzionava...fatto sta che se la mettete alla fine dell'URL compare qualcosa di molto interessante :)
secondo con questo aiuto dovreste riuscire a risolvere l'esercizio senza problemi, nel caso scrivetemi ancora che vi dico tutta la soluzione completa!
cmq ho risolto anche il livello "secret page" ;)
invece sto impazzendo su WYSINWYG, soprattutto mi lascia molto pensare la N in mezzo (wysiNwyg) oltre al fatto che negli header ho trovato questo
<to be solved "hypnotically"> nn trovo via d'uscita però... |
simoki |
finalmente ADMIN AREA superato , grande gennaro!
se non ti piace Burp:
WebScarab - http://www.owasp.org/
Paros - http://www.parosproxy.org/
mi restano da risolvere
# WYSINWYG
# The secret page
#Pwn this host!
WYSINWYG sta per "What You See Is NOT What You Get"
oltre all'Hint <to be solved "hypnotically">
nel cookie viene settato EncryptedText=HxYHFwABDQoFBRhY%3D%3D |
gennaro |
Pwn this host! a mio avviso non siamo neanche in grado di farlo...secondo me nn ci hanno fornito abbastanza strumenti per riuscire a fare un attacco simile...se ce lo facessero vedere a lezione...
si ovviamente anke io ho trovato tutti quelli indizi però nn so come muovermi...cmq si so cosa voleva dire WYSINWYG, quello che intendevo è che di solito la sigla che si trova in giro è sempre senza la N, quindi stavo cercando di capire dove sta il trucco, cosa può significare questo NOT...oltre al fatto ke mi sn messo a cercare anche l'etimologia di "hypnotically" per provare a vedere se aveva qualche significato nascosto...ma forse sto esagerando.. XD
per secret page nn ho capito se stai provando a farlo o hai bisogno di una mano..nel caso chiedi pure ke cm ho già scritto prima, sn riuscito a risolverlo ;) |
gennaro |
mi sono accorto adesso di non aver fatto il livello "Cookie": qualcuno è riuscito a farlo? |
simoki |
gennaro ti do un' Hint :
controlla come viene settato il cookie quando ti registri con gli altri utenti che non sono admin |
simoki |
Originally posted by gennaro
Pwn this host! a mio avviso non siamo neanche in grado di farlo...secondo me nn ci hanno fornito abbastanza strumenti per riuscire a fare un attacco simile...se ce lo facessero vedere a lezione...
si ovviamente anke io ho trovato tutti quelli indizi però nn so come muovermi...cmq si so cosa voleva dire WYSINWYG, quello che intendevo è che di solito la sigla che si trova in giro è sempre senza la N, quindi stavo cercando di capire dove sta il trucco, cosa può significare questo NOT...oltre al fatto ke mi sn messo a cercare anche l'etimologia di "hypnotically" per provare a vedere se aveva qualche significato nascosto...ma forse sto esagerando.. XD
per secret page nn ho capito se stai provando a farlo o hai bisogno di una mano..nel caso chiedi pure ke cm ho già scritto prima, sn riuscito a risolverlo ;)
Per Pwn this host :
gli unici comandi che sono riuscito a far eseguire alla microbash sono:
id , who , ls , whoami |
gennaro |
si avevo già notato i seguenti valori
con user => AuthCookie: 54321sftv
con guest => AuthCookie: 54321utfvh
però sinceramente nn sapevo cosa farmene |
simoki |
54321 rimane fisso , ok , quindi dovrebbe essere così anche per admin.
cambiano i valori seguenti che se noti però corrispondono al numero di caratteri che formano l'utente.. (user = stfv) (guest = utfvh)
user -> resu -> sftv
guest -> tseug -> utfvh
admin -> ????? -> ?????
Viene invertito il nome dell'utente e il carattere viene incrementato di una posizione , Quindi admin invertito è 'nimda' , incrementato diventa 'ojneb'
54321ojneb è il cookie che "identifica" l'admin
Spero di essere stato chiaro! :D |
gennaro |
ahahah che roba malatissima!!! sembra più un'esercizio da settimana enigmistica che di sicurezza XD io stavo pensando a tutt'altro tipo di utilizzo dei cookie, per questo nn mi ero concentrato molto sul valore che veniva settato!
grazie mille! anche in qst caso, spiegazione fin troppo chiara :D |
simoki |
figurati!
invece secret page mi sta tirando parecchio a male..
possibile che non ci sia nessun indizio? o almeno non lo trovo! |
gennaro |
per "secret page" ti lascio pensare ancora un po' :D
anche perchè in verità non riesco a darti un indizio...cioè se ti dico subito qual è il primo step in automatico hai risolto il livello, perchè gli step successivi sono immediati
in ogni caso se proprio nn ne riesci ad uscirne ti dico la soluzione |
|
|
|
|