.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sicurezza (http://www.dsy.it/forum/forumdisplay.php?forumid=264)
-- Esercizi Sicurezza - Attacchi Web - Lezione 5/5/2011 (http://www.dsy.it/forum/showthread.php?threadid=41882)


Posted by gennaro on 06-05-2011 09:35:

Esercizi Sicurezza - Attacchi Web - Lezione 5/5/2011

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 :)


Posted by simoki on 09-05-2011 18:32:

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?


Posted by zack1988 on 10-05-2011 13:28:

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


Posted by zack1988 on 10-05-2011 13:40:

La soluzione di "Watch out for your head!":
Nell'header HTTP della pagina c'é

"X-CheckThisOut: la chiave e` header_rocks"


Posted by zack1988 on 10-05-2011 13:45:

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&agrave;</th>

  <th>Totale</th>
  </tr>
  <tr>
  <td>Televisore LCD 42 ''</td>
  <td class="center">&euro;&nbsp;5.947,00</td>
  <td class="center"><input type="text" name="qt" value="1" size="5" /></td>
  <td class="center">&euro;&nbsp;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>


Posted by simoki on 10-05-2011 14:31:

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


Posted by zack1988 on 10-05-2011 15:01:

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...")
    }
};


Posted by zack1988 on 10-05-2011 15:30:

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.


Posted by simoki on 10-05-2011 16:02:

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


Posted by gennaro on 10-05-2011 17:33:

grazie

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...


Posted by gennaro on 10-05-2011 17:43:

p.s. cmq non riesco a capire cosa faccia la function checkpass...


Posted by zack1988 on 10-05-2011 21:10:

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


Posted by gennaro on 12-05-2011 17:30:

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?


Posted by zack1988 on 13-05-2011 08:44:

come hai fatto per "admin area" sono curioso.

Grazie


Posted by simoki on 13-05-2011 15:21:

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..


Posted by gennaro on 13-05-2011 17:01:

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ò...


Posted by simoki on 13-05-2011 18:04:

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


Posted by gennaro on 14-05-2011 00:16:

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 ;)


Posted by gennaro on 14-05-2011 15:03:

mi sono accorto adesso di non aver fatto il livello "Cookie": qualcuno è riuscito a farlo?


Posted by simoki on 14-05-2011 16:21:

gennaro ti do un' Hint :
controlla come viene settato il cookie quando ti registri con gli altri utenti che non sono admin


Posted by simoki on 14-05-2011 18:14:

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


Posted by gennaro on 15-05-2011 10:52:

si avevo già notato i seguenti valori
con user => AuthCookie: 54321sftv
con guest => AuthCookie: 54321utfvh
però sinceramente nn sapevo cosa farmene


Posted by simoki on 15-05-2011 13:48:

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


Posted by gennaro on 15-05-2011 14:33:

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


Posted by simoki on 15-05-2011 15:01:

figurati!
invece secret page mi sta tirando parecchio a male..
possibile che non ci sia nessun indizio? o almeno non lo trovo!


Posted by gennaro on 16-05-2011 00:17:

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


All times are GMT. The time now is 11:33.
Show all 26 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.