This shows you the differences between two versions of the page.
|
uso:teme:tema-2 [2025/11/11 19:20] andrei.nicola [Cerinţele temei] |
uso:teme:tema-2 [2025/12/11 08:38] (current) ionut.mihalache1506 [Testarea temei. Finalizarea temei. Mașină virtuală.] |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| Deadline: <color red>**28 noiembrie 2025 - ora 23:59**</color>\\ | Deadline: <color red>**28 noiembrie 2025 - ora 23:59**</color>\\ | ||
| Timp de lucru: **17 zile **\\ | Timp de lucru: **17 zile **\\ | ||
| - | Punctaj: **0.5 puncte** din nota temelor (se pot acoperi punctaje pierdute de la alte teme)\\ | + | Punctaj: **0.4 puncte** din nota temelor (se pot acoperi punctaje pierdute de la alte teme)\\ |
| </note> | </note> | ||
| <hidden> | <hidden> | ||
| Line 75: | Line 75: | ||
| - | <note warning>Este interzisă publicarea pe forum a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a | + | <note warning>Este interzisă publicarea pe forum a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a temei ori a unui task. Dacă se întâmplă acest lucru punctajul pe toate temele (trecute sau viitoare) este anulat.. Dacă e necesar acest lucru vă rog să contactaţi în privat responsabilii de temă, la specificarea explicită a acestora pe forum! |
| - | temei ori a unui task. Dacă e necesar acest lucru vă rog să contactaţi în privat responsabilii de temă, la specificarea explicită a acestora pe forum! | + | |
| - | **Aveţi voie, însă, să sugerați diferite abordări pe care mergeţi sau să dați idei generale (dar nu comenzi sau fişiere shell script) celorlalți chiar direct pe forum. Încurajăm clarificarea lucrurilor între studenţi atât timp cât nu sunt rezolvate cerinţele în mod direct. ** | + | **Aveţi voie, însă, să sugerați diferite abordări pe care mergeţi sau să dați idei generale (dar nu comenzi sau fişiere shell script) celorlalți chiar direct pe forum. Încurajăm clarificarea lucrurilor între studenţi atât timp cât nu sunt rezolvate cerinţele în mod direct. **</note> |
| - | + | ||
| - | Urmăriți [[uso:regulament#realizarea_temelor|indicațiile legate de realizarea temelor]]. La prima abatere studentul primește un avertisment, iar punctajul obținut pe temă îi este redus cu valoarea punctajului pe task-ul respectiv. Începând cu a doua abatere, se va anula întregul punctaj pe tema curentă. Temele anterioare sau cele viitoare nu vor fi afectate. Abaterile se păstrează pe parcursul semestrului. Ori de câte ori se încalcă această regulă, se va ține cont de istoricul abaterilor. Abaterile vor fi actualizate în catalog.</note> | + | |
| ==== Task obligatoriu pentru toate temele la final ==== | ==== Task obligatoriu pentru toate temele la final ==== | ||
| Line 139: | Line 136: | ||
| === b) Urmarind Ruta [3p] === | === b) Urmarind Ruta [3p] === | ||
| - | Urmariti traseul in internet al unui pachet trimis catre adresa 1.1.1.1, avand | + | Trimiteti un singur pachet catre adresa 1.1.1.1, salvand output-ul ''/home/student/tema2/task1/four_ones.txt'' |
| - | first_ttl 4 | + | |
| - | Salvați outputul într-un fișier numit: ''/home/student/tema2/task1/four_ones.txt'' | + | |
| === c) Internet IPv6 [3p] === | === c) Internet IPv6 [3p] === | ||
| - | De data aceasta trebuie sa urmariti pachete trimise in internet tot catre adresa 1.1.1.1, DAR de data aceasta doriti sa fie pachet IPv6. Ce observati diferit? Hint: avand host address = 1.1.1.1, nu va stii sa va identifice destinatia, asa ca va trebui sa combinati ce ati folosit la cele 2 subpuncte anteriore. Salvati output-ul in ''/home/student/tema2/task1/ipv6.txt'' | + | Folosind **nslookup** gasiti adresa ipv4 si adresa ipv6 a **google.com**. Salvati fiecare adresa pe cate o linie in fisierul ''/home/student/tema2/task1/ipv6.txt'' |
| Line 152: | Line 147: | ||
| === a) Get Wordlists (6p) ==== | === a) Get Wordlists (6p) ==== | ||
| - | b) Acum ne vom folosi(adica voi) de skill-urile dobandite pentru a descarca folosind un request de tip GET(=a obtine o resursa de pe internet) fisierul **rockyou.txt.gz**, un celebru wordlist cu parole din datacentere sparte. Link-ul este acesta https://weakpass.com/wordlists/rockyou.txt. Problema este ca va trebui sa identificati link-ul aferent **fisierului**, nu paginii html. Fisierul vostru va avea path-ul ''/home/student/tema2/task2/rockyou.txt'' | + | b) Acum ne vom folosi(adica voi) de skill-urile dobandite pentru a descarca folosind un request de tip GET(=a obtine o resursa de pe internet) fisierul **rockyou.txt.gz**, un celebru wordlist cu parole din datacentere sparte. Link-ul este acesta https://weakpass.com/wordlists/rockyou.txt. Problema este ca va trebui sa identificati link-ul aferent **fisierului**, nu paginii html. Dupa descarcare, salvati parola de pe line 7777 in fisierul ''/home/student/tema2/task2/my_password.txt'' |
| <note> | <note> | ||
| Line 200: | Line 195: | ||
| === a) Filtre basic (6p) === | === a) Filtre basic (6p) === | ||
| - | Dupa ce descarcati wordlist-ul, veti scrie in fisierul ''home/student/tema2/task4/statistics.txt'' urmatoarele informatii | + | Dupa ce descarcati wordlist-ul, veti scrie in fisierul ''home/student/tema2/task4/password_statistics.txt'' urmatoarele informatii |
| * numarul de parole care incep cu caractere alfabetice | * numarul de parole care incep cu caractere alfabetice | ||
| * numarul de parola care incep cu caractere speciale | * numarul de parola care incep cu caractere speciale | ||
| - | * toate parolele care NU fac matching pe niciuna din cerintele de mai sus | + | * numarul toturor parolelor care NU fac matching pe niciuna din cerintele de mai sus |
| + | |||
| + | <note important> | ||
| + | Fisierul va trebui sa contina un numar per linie. Orice alt format nu va fi luat in considerare. | ||
| + | </note> | ||
| === b) Filtre avansate (12p) === | === b) Filtre avansate (12p) === | ||
| Doarece subtask-ul a) a fost de incalzire, acum dorim sa scriem pe a patra liniie numarul total de parole care respecta **cel putin una din conditiile urmatoare**: | Doarece subtask-ul a) a fost de incalzire, acum dorim sa scriem pe a patra liniie numarul total de parole care respecta **cel putin una din conditiile urmatoare**: | ||
| - | * incepe cu 3 vocale | + | * are la început minim 3 vocale |
| - | * se termina cu 3 consoane | + | * are la final minim 3 consoane |
| - | * contine la mijloc o cifra(nu la inceput si nu la final) | + | * conține la mijloc minim o cifra(nu la inceput și nu la final) |
| <note tip>Cel putin una inseamna ca se aplica OR logic pentru fiecare conditie in parte, evident exista si parole care respecta mai multe reguli simultan, deci reuniunea nu va fi egala cu suma multimilor ce respecta fiecare conditie in parte, ci va fi mai multa. | <note tip>Cel putin una inseamna ca se aplica OR logic pentru fiecare conditie in parte, evident exista si parole care respecta mai multe reguli simultan, deci reuniunea nu va fi egala cu suma multimilor ce respecta fiecare conditie in parte, ci va fi mai multa. | ||
| Line 293: | Line 292: | ||
| ==== Task 08 - ZAR (20p) ==== | ==== Task 08 - ZAR (20p) ==== | ||
| Pentru acest task va trebui sa combinati cunostintele de USO cu cele de PCLP1 si sa scrieti un cod care sa simuleze datul cu zarul(2 zaruri). Citit cu atentie ambele subtask-uri pentru a intelege scopul exercitiului intrucat nu sunt disjuncte, iar rezolvarea celor 2 nu se succede d.p.d.v. temporal, ci se rezolva concomitent. | Pentru acest task va trebui sa combinati cunostintele de USO cu cele de PCLP1 si sa scrieti un cod care sa simuleze datul cu zarul(2 zaruri). Citit cu atentie ambele subtask-uri pentru a intelege scopul exercitiului intrucat nu sunt disjuncte, iar rezolvarea celor 2 nu se succede d.p.d.v. temporal, ci se rezolva concomitent. | ||
| + | |||
| + | <note important>Pentru versionarea codului cu Git este suficient sa initializati proiectul de Git in directorul **task8**. De asemenea verificati ca fisierul sa aiba extensia //.sh//, iar parametrii primiti //py// si //c// sa fie litere mici ale alfabetului</note> | ||
| === a) Implementare Zar (12p) === | === a) Implementare Zar (12p) === | ||
| 1. Functionalitatea proiectului consta in apelarea unui mic shell script care va primi ca argument limbajul de programare in care vom simula zarurile pe care le aruncam - ori C, ori Python in felul urmator: | 1. Functionalitatea proiectului consta in apelarea unui mic shell script care va primi ca argument limbajul de programare in care vom simula zarurile pe care le aruncam - ori C, ori Python in felul urmator: | ||
| - | ''./zar py'' | + | ''./zar.sh py'' |
| - | ''./zar c'' | + | ''./zar.sh c'' |
| Output-ul trebuie sa arate astfel: | Output-ul trebuie sa arate astfel: | ||