Homepage  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


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sicurezza
 
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 :)

simoki
Ciao Gennaro

per quanto riguarda WhiteHouse :
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

per Never trust biscuit:
cambia nella GET Cookie: Win=No con Win=Yes


It's easy , Pack-man e WISYNWIG ancora da superare.. idee?

zack1988
Questa é la soluzione per it's easy:

ho creato un file html con

PHP:

<html>
<body>

<form action=&quot;http://gamebox.laser.dico.unimi.it/sec2/web1/html-easy/index.php&quot; method=&quot;post&quot; style=&quot;text-align:center;&quot;>
   <p><input name=&quot;key&quot; type=&quot;text&quot; value=&quot;&quot; /></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=&quot;post&quot; action=&quot;http://gamebox.laser.dico.unimi.it/sec2/web1/html-hidden/hidden.php&quot; id=&quot;form&quot;>
  <table style=&quot;margin-top: 2em; margin-bottom: 2em;&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot; border=&quot;1&quot;>
  <tr>
  <th>Prodotti da acquistare</th>
  <th>Prezzo</th>
  <th>Quantit&agrave;</th>

  <th>Totale</th>
  </tr>
  <tr>
  <td>Televisore LCD 42 ''</td>
  <td class=&quot;center&quot;>&euro;&nbsp;5.947,00</td>
  <td class=&quot;center&quot;><input type=&quot;text&quot; name=&quot;qt&quot; value=&quot;1&quot; size=&quot;5&quot; /></td>
  <td class=&quot;center&quot;>&euro;&nbsp;5.947,00</td>

  </tr>
  <tr>
  <td colspan=&quot;4&quot; class=&quot;center&quot;>
  <input type=&quot;hidden&quot; name=&quot;prezzo&quot; value=&quot;1&quot; />
  <input type=&quot;submit&quot; value=&quot;Aggiorna&quot; name=&quot;aggiorna&quot; />
  <input type=&quot;submit&quot; value=&quot;Compra&quot; name=&quot;compra&quot; />
  </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(&quot;pw&quot;).value;
    s = strrev(s);
    if (s == clear.join(&quot;&quot;)) {
        alert(&quot;Hai vinto!&quot;)
    } else {
        alert(&quot;Naaa, riprova...&quot;)
    }
};


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

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate