- Stefanescu Mihai a postat in Paginare in PHP
- johhny a postat in Paginare in PHP
- Stefanescu Mihai a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- madalin a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- Stefanescu Mihai a postat in Featureuri site
Ce este un Fork Bomb si cum functioneaza
Exista mai multe comenzi periculoase pe care un utilizator le poate scrie in terminal si sa ii provoace un crash sau poate chiar mai rau, sa strice lucrurile.
Acestea fiind zise, cred ca este o idee buna sa povestesc despre anumite comenzi periculoase astfel incat sa le cunoasteti si sa nu le rulati.
Una dintre cele mai cunoscute comenzi periculoase este bineinteles aceasta
sudo rm -rf /
Ar trebui sa fie destul de clar ce face aceasta comanda pentru majoritatea utilizatorilor, dar totusi am sa incerc sa o explic.
sudo iti da drepturi de root
rm sterge un fisier
-r sterge in mod recursiv
f vine de la force
/ se refera la root-ul sistemului de operare
Astfel incat, comanda asta o sa inceapa de la root si o sa stearga in mod recursiv toate fisierele din sistem.
Referitor la structura sistemului de fisiere din linux recomand acest articol.
Evident aceasta comanda este destul de periculoasa, dar cred ca distributiile moderne nu iti permit sa rulezi aceasta comanda fara sa te intrebe cel putin inca o data daca esti sigur ca vrei sa o rulezi.
:(){:|:&};:
Alta comanda periculoasa care este de fapt un fel de atac DDOS este Fork Bomb-ul. Fork bomb-ul este un script de shell, dar poate fi scris in orice limbaj, care poate fi executat pe sistem.
Fork Bomb-ul porneste fork-uieste in continuare un proces pana cand masina ta ramane fara memorie si esti nevoit sa o restartezi.
Porneste de la 1 proces, il forkuieste si ajunge sa aiba 2 procese, apoi fiecare dintre aceste procese este fork-uit si ajungem sa avem 4 procese si tot asa.
Dupa cum spuneam, un fork bomb poate fi scris in orice limbaj, de fapt chiar am gasit acest repository cu fork bomb-uri in mai multe limbaje.
Cred ca una dintre cele mai folosite fork bomb-uri este aceea scrisa in shell, pe care cel mai probabil ai mai vazut-o pe internet :(){:|:&};:
Dupa cum puteti observa, acest fork bomb este interesant pentru ca esti compus doar din caractere speciale, fara text, ceea ce o face mai greu de inteles, mai ales daca nu stii shell scripting.
Hai sa explicam cum functioneaza.
Pornind de la comanda scrisa putin mai sus, am sa incerc sa o aranjez putin ca sa ne ajute sa intelegem.
: () { :|: & }; :
Dupa cum putem observa, acum ca este aranjata putin mai frumos, forkbomb-ul nostru incepe sa arate ca o function si de fapt chiar asta, o functie cu numele :, care dupa ce este definita esti si rulata (vezi : de pe randul 4)
Acum, ce face de fapt aceasta functie, se apeleaza pe sine insusi si trimite rezultatul tot care ea, creeand inca un proces, iar & ii spune sa tine acel proces in background creean o bucla infinita in care la fiecare rulare mai creeaza un proces si tot asa.
Apoi, dupa inchiderea functiei avem ; care este folosit strict pentru ca este folosita inline si marcheaza inchiderea primei parti a scriptului si urmeaza a doua, daca scriptul era aranjat, cum e mai sus, nu mai aveam nevoie de acel ;.
Asta este toata explicatia, un forkbomb nu este chiar atat de complicat dupa cum vezi.
Sper ca acest articol ti-a fost util si ai invatat ceva.
Comentarii