Sabato, 02 Agosto 2025 10:14

Try2Hack.lt: esercizi di logica e sicurezza informatica nel web degli anni 2000 - Parte 2

Scritto da
Vota questo articolo
(1 Vota)

DISCLAIMER

Le tecniche utilizzate su
Try2Hack.lt non sono di hacking malevolo e sono obsolete. Sono utili per comprendere le basi della sicurezza informatica e l'evoluzione delle vulnerabilità web.


Il sito non richiede registrazione nè l'inserimento di mail o dati sensibili
, ma non fornisce alcuna garanzia in termini di sicurezza, affidabilità o protezione dei dati.

Questo articolo ha finalità esclusivamente educative e divulgative.

Raccomando comunque di adottare alcune precauzioni di sicurezza durante la navigazione, tra cui:

  • utilizzare una connessione VPN per proteggere la propria identità online;

  • navigare in modalità anonima/incognita;

  • assicurarsi di avere un antivirus aggiornato e attivo;

  • una macchina virtuale o un browser isolato

L'autore dell’articolo e il sito web non si assumono alcuna responsabilità per un uso improprio delle informazioni contenute o per eventuali danni derivanti da comportamenti non conformi.

Eccoci arrivati alla seconda parte dei Try2Hack! Continuiamo la sfida dal livello 6.

A questo link trovate la prima parte dell'articolo:
https://www.computermania.org/tutorial/sicurezza/try2hack-lt-esercizi-di-logica-e-sicurezza-informatica-nel-web-degli-anni-2000





#LIVELLO 6

Ecco il link del livello 6
https://www.try2hack.lt/en/lygiai/level6-eitp.htm

Per proseguire sono richiesti username e password da inserire nella finestra popup:



Dal codice sorgente è possibile vedere che è presente un collegamento allo script. Per visualizzarlo basta cliccare su "src" (che sta per source, sorgente) come visualizzato nell'immagine (le credenziali in chiaro sono errate e sono state inserite per depistare l'utente):



Cliccando su "src" è possibile visualizzare le credenziali corrette e il nome della pagina del livello successivo:



Scrivete prima l'user e poi la password:
username = "LefTy"
password = "wIndow"

Dalla finestra popup cliccate sul pulsante OK per accedere al settimo livello:





#LIVELLO 7

Ecco il link del livello 7:
https://www.try2hack.lt/en/lygiai/level7-irra.htm

Anche in questo caso è necessario inserire Username e Password:



Dal codice sorgente è possibile notare che è necessario scaricare il file leval7.swf:



Ecco il link diretto per scaricare il file:
www.try2hack.lt/en/lygiai/leval7.swf

Importatelo su JPEXS come fatto in precedenza e aprite la cartella script:



Dalla sezione ActionScript è presente il seguente codice:

_root.user = "";
_root.pass = "";
main = "ABCDEFGHIYJKLMNOPRSTUVZXQW0123456789";
vrt = main.substr(12,1) + main.substr(1,1) + main.substr(12,1) + main.substr(15,0) + main.substr(20,1) + main.substr(21,1) + main.substr(19,1) + main.substr(1,1) + main.substr(23,2);

Questo è lo script associato alla pressione del pulsante:

on(release, keyPress "<Enter>"){
a = _root.user;
b = _root.pass;
toliau = _root.main.substr(18,2) + b.substr(3,1) + b.substr(6,1);
if(a == vrt && b.substr(3,1) * b.substr(6,1) == 72)
{
getURL("level8-" + toliau + ".htm","_self");
}
else
{
_root.pass = "";
_root.user = "";
}
}

ActionScript è un linguaggio di scripting usato principalmente per animazioni, interazioni e logica nei file Flash (.SWF). È simile a JavaScript nella sintassi, ma funziona all'interno di contenuti Flash (animazioni, giochi, interfacce interattive).

Cos’è il P-code in ActionScript presente nella sezione a destra?

Il p-code (pseudo-code o bytecode) è una rappresentazione intermedia del codice ActionScript originale (quello che scrivi nello script Flash) usata dal Flash Player per eseguire le istruzioni. È una sorta di linguaggio macchina semplificato che rappresenta ogni comando ActionScript in forma strutturata, più vicina al funzionamento del player.

Viene generato automaticamente dal compilatore Flash quando esporti un file .swf.

Il P-code è utile per analizzare .swf anche se il codice ActionScript è offuscato o assente.

Come trovare il nome utente (_root.user)

Questo è il codice:

vrt = main.substr(12,1) + main.substr(1,1) + main.substr(12,1) + main.substr(15,0) + main.substr(20,1) + main.substr(21,1) + main.substr(19,1) + main.substr(1,1) + main.substr(23,2);

Il valore della variabile vrt è costruito estraendo lettere dalla stringa main.

La main mostrata nel codice ActionScript è questa:

"ABCDEFGHIYJKLMNOPRSTUVZXQW0123456789"

In realtà, nel file .swf (letto con strumenti tipo JPEXS o disassemblando il p-code), la main è diversa.

È probabilmente qualcosa come: main = "KAKTUSAZX012345..."

Applicando le istruzioni substr() a questa nuova main, il valore di vrt diventa: vrt = "KAKTUSAZX"

Come trovare la password (_root.pass)

Il codice controlla anche la password con questa condizione:

if (a == vrt && b.substr(3,1) * b.substr(6,1) == 72)

cioè:

Il 4° carattere (posizione 3) della password moltiplicato per il 7° carattere (posizione 6) deve dare 72

Quindi cerca due cifre che, moltiplicate, danno 72:

9 × 8 = 72 (o 8x9=72)

Posiziona questi due numeri nella password:

posizione 3 = "9" → 4° carattere

posizione 6 = "8" → 7° carattere

Riempi gli altri caratteri come vuoi (basta che la lunghezza sia almeno 7 caratteri).

Esempio valido:

pass = "xx9xx8" (o xx8xx9) Questo è un classico esempio di security through obscurity - la sicurezza attraverso l'oscurità del codice, che però è facilmente aggirabile una volta decompilato il file SWF.

Ecco le credenziali per accedere al livello successivo:

Username: KAKTUSAZX
Password: xx9xx8





#LIVELLO 8

Questo è l'URL del livello 8:

https://www.try2hack.lt/en/lygiai/level8-RS98.htm

Bisogna scaricare un file in formato .RAR



Decomprimete il file e apritelo con Notepad++ o Blocco note:



Nel codice è possibile vedere un link:

https://www.try2hack.lt/en/lygiai/level9-qwsa.htm

Non si tratta però di quello corretto:



La prima parte è corretta in realtà; basta aggiungere -html.htm (come evidenziato nel codice) all'URL per aprire il link giusto!



#LIVELLO 9

https://www.try2hack.lt/en/lygiai/level9-html.htm



Dal codice sorgente è possibile verificare che sta usando un file .php per validare la password che inseriamo:



Se inseriamo una password casuale si aprirà il seguente URL (che non funziona):
https://www.try2hack.lt/en/lygiai/level9login.php



Per accedere al livello successivo bisogna forzare un login simulato per bypassare il form. Per farlo basta aggiungere all'URL iniziale .php?login=1:
https://www.try2hack.lt/en/lygiai/level9-html.php?login=1

Il parametro ?login=1 simula l'invio corretto della password anche se non viene inserita

Accedendo a quell’URL, il sito considera la password corretta

Per collegarsi al livello 10 basta cliccare sul link Great! Go to the 10th level...:





#LIVELLO 10

Ecco il link del livello 10:
https://www.try2hack.lt/en/lygiai/level10-desi.php



Analizzando il codice non si nota nessuno script o collegamento a script esterni:



Aprite gli strumenti per sviluppatori (F12) dal vostro browser. Provate a cliccare su submit. Comparirà il messaggio
Wrong data.


Cliccate sul tab Rete/Network e selezionate il link evidenziato. Le credenziali sono evidenziate:



In poche parole
Il server ha rivelato le credenziali nei cookie di risposta dopo un tentativo fallito di login!

Ecco le credenziali:


Username: Biscuit
Password: ChocolateChip

Questo è un esempio di Information Disclosure (divulgazione di informazioni). Il termine che sentiresti più spesso in un penetration test report sarebbe "Information Disclosure via HTTP Cookies". Ecco i passaggi:

  1. Il server memorizza le credenziali corrette nei cookie
  2. Anche quando il login fallisce (logged_on=0), i cookie vengono comunque inviati
  3. Usando gli strumenti per sviluppatori, è possibile vedere questi cookie "nascosti"
  4. Una volta scoperte le credenziali è possibile utilizzarle per il login

Non vi resta che inserire le credenziali e cliccate su Submit. Per andare al livello 11 cliccate sul link Great! Go to the 11th level...



#LIVELLO 11

Ecco il link del livello 11:
https://www.try2hack.lt/en/lygiai/level11-htjs.htm

Ad oggi purtroppo il livello 11 non è online; viene richiesto di compilare un form per ricevere info nel momento in cui sarà disponibile. Inserendo i dati il nostro Nick verrà inserito in una sorta di classifica di tutti gli utenti che hanno partecipato al gioco (in ordine cronologico) visibile a questo link: https://www.try2hack.lt/en/apie.php



Il gioco è terminato! Se questo articolo vi è piaciuto condividetelo con i vostri amici!

CURIOSITA'

Se provate ad aprire la directory lygiai presente nell'URL https://www.try2hack.lt/en/lygiai/ comparirà il seguente messaggio: what are you doing here? huh? (cosa ci fai qui? eh?)

Articolo consigliato:

https://www.computermania.org/tutorial/informatica/15-e-piu-curiosita-informatiche-che-forse-non-conoscevate (cancellare i link ai video di YT dopo la pubblicazione dell'articolo)

Seguimi sui social per non perdere i prossimi aggiornamenti:





Computermania.org è un sito amatoriale creato da un appassionato di informatica che ha dedicato centinaia di ore di lavoro (soprattutto notturne!), per offrire a tutti tutorial, guide e trucchi di qualità e per risolvere i problemi tecnologici quotidiani. Puoi dimostrare il tuo apprezzamento per il lavoro fatto effettuando una piccola donazione su PayPal cliccando sul seguente pulsante: 
 
 


GRAZIE!

Letto 279 volte Ultima modifica il Domenica, 03 Agosto 2025 11:17

Sostieni il sito

Computermania.org è un sito amatoriale creato da un appassionato di informatica che ha dedicato centinaia di ore di lavoro (soprattutto notturne!), per offrire a tutti articoli e trucchi di qualità e per risolvere i problemi tecnologici quotidiani. Puoi dimostrare il tuo apprezzamento per il lavoro fatto effettuando una piccola donazione su PayPal cliccando sul seguente pulstante GRAZIE! Roberto