Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:teme:tema-2 [2025/11/10 22:53]
andrei.nicola [Task 02 - GET (12p)]
uso:teme:tema-2 [2025/12/11 08:38] (current)
ionut.mihalache1506 [Testarea temei. Finalizarea temei. Mașină virtuală.]
Line 24: Line 24:
  
 <note important>​ <note important>​
-Deadline: <color red>**3 decembrie 2024 - ora 23:​59**</​color>​\\ +Deadline: <color red>**28 noiembrie 2025 - ora 23:​59**</​color>​\\ 
-Timp de lucru: **21 + 1 zile **\\ +Timp de lucru: **17 zile **\\ 
-Punctaj: **1.punct** din nota finală\\+Punctaj: **0.4 puncte** din nota temelor (se pot acoperi punctaje pierdute de la alte teme)\\
 </​note>​ </​note>​
 +<​hidden>​
 <note important>​ <note important>​
 SUBMIT: <color red>​**CLOSED**</​color>​\\ SUBMIT: <color red>​**CLOSED**</​color>​\\
 Perioada de submit s-a incheiat. Niciun submit dupa deadline nu va fi luat in calcul.\\ Perioada de submit s-a incheiat. Niciun submit dupa deadline nu va fi luat in calcul.\\
 </​note>​ </​note>​
 +</​hidden>​
  
 <​note>​ <​note>​
Line 38: Line 39:
   * **(tba)** N/A   * **(tba)** N/A
 </​note>​ </​note>​
 +<​hidden>​
 <​note>​ <​note>​
 Actualizări checker:\\ Actualizări checker:\\
Line 44: Line 45:
   * <color green>​**Rulați ''​sudo uso update''​**</​color>​   * <color green>​**Rulați ''​sudo uso update''​**</​color>​
 </​note>​ </​note>​
 +</​hidden>​
 ===== Cunoștințe evaluate ===== ===== Cunoștințe evaluate =====
  
Line 73: 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 116: Line 115:
  
 <code bash> <code bash>
-mihai@wormhole:​~$ ssh -l student -p 2222 localhost +mihai@wormhole:​~$ ssh student@localhost
- +
-Warning: Permanently added '​[localhost]:​2222'​ (ECDSA) to the list of known hosts. +
-student@localhost's password:  +
-Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.19.0-041900rc8-generic x86_64) +
-(...) +
-Last login: Sun Nov 25 21:01:19 2018 from 10.0.2.2+
  
 student@usohomework:​~$ ​ student@usohomework:​~$ ​
Line 143: 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''​
  
  
 ==== Task 02 - GET (12p) ==== ==== Task 02 - GET (12p) ====
  
-Pentru acest task, motoarele de cautare vor sa pacaleasca ROBOTZII, asa ca noi sa ne prefacem ca suntem si noi ROBOTZI. Stim ca pe site-ul SRI(Serviciul Roman de Informatiiexista o pagina secretacare evident impiedica robotzii sa acceseze website-ul+Pentru acest task, ne vom folosi de un clasic wordlist(un leak de parole care au fost facute publice de hackerinumit '​rockyou'​unul dintre cele mai mari din istorie.
  
 === 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 204: 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 297: 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:
-''​Dau cu zarulX ​Y''​ unde X si Y sunt posibile numere ce apar pe fata unui zar, si anume numere naturale nenule, cuprinse intre 1 si 6. Exista 2 situatii exceptionale:​+''​Dau cu zaru X Y''​ unde X si Y sunt posibile numere ce apar pe fata unui zar, si anume numere naturale nenule, cuprinse intre 1 si 6. Exista 2 situatii exceptionale:​
   * ''​Dau cu zaru 6 5 n-am nevoie de servici''​   * ''​Dau cu zaru 6 5 n-am nevoie de servici''​
   * ''​Dau cu zaru 6 6 ca mine nu se mai naste''​   * ''​Dau cu zaru 6 6 ca mine nu se mai naste''​
uso/teme/tema-2.1762808030.txt.gz · Last modified: 2025/11/10 22:53 by andrei.nicola
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0