Në këtë artikull do të zgjidhim detyrën e 25-të nga faqja
informacion organizativSidomos për ata që duan të mësojnë diçka të re dhe të zhvillohen në çdo fushë të informacionit dhe sigurisë kompjuterike, unë do të shkruaj dhe flas për kategoritë e mëposhtme:
- PWN;
- kriptografia (Crypto);
- teknologjitë e rrjetit (Rrjeti);
- e kundërta (Inxhinieri e kundërt);
- steganografi (Stegano);
- kërkimi dhe shfrytëzimi i dobësive të WEB-it.
Përveç kësaj, unë do të ndaj përvojën time në mjekësinë ligjore kompjuterike, analizën e malware dhe firmware, sulmet në rrjetet pa tel dhe rrjetet lokale, kryerjen e pentesteve dhe shfrytëzimet e shkrimit.
Kështu që ju mund të mësoni për artikuj të rinj, softuer dhe informacione të tjera, kam krijuar
I gjithë informacioni jepet vetëm për qëllime edukative. Autori i këtij dokumenti nuk merr përsipër asnjë përgjegjësi për çdo dëm të shkaktuar dikujt si rezultat i përdorimit të njohurive dhe metodave të marra si rezultat i studimit të këtij dokumenti.
Zgjidhja e detyrës otp
Le të vazhdojmë me pjesën e dytë. Do të them menjëherë se është më e ndërlikuar se e para, por këtë herë ata nuk japin kodin burimor të programit. Mos harroni për diskutimin këtu (https://t.me/RalfHackerPublicChat) dhe këtu (https://t.me/RalfHackerChannel). Le të fillojmë.
Klikoni në ikonën me nënshkrimin otp. Na jepet një adresë dhe port për t'u lidhur.
Ne lidhemi dhe shikojmë rreth serverit.
Një flamur që nuk mund ta lexojmë, një program dhe kodin burimor të tij. Le të shohim burimin.
Le ta zgjidhim. Programi merr një fjalëkalim si argument.
Më pas, 16 bajt të rastësishëm ruhen në variablin otp.
Një skedar me një emër të rastësishëm krijohet në dosjen tmp (8 bajtë e parë janë otp) dhe 8 bajt të rastësishëm shkruhen në të (8 bajtë e dytë janë otp).
Për disa arsye, vlera e skedarit të krijuar lexohet dhe krahasohet me fjalëkalimin e futur.
Këtu hyn cenueshmëria. Ai konsiston në ruajtjen e ndërmjetme të numrit të gjeneruar në një skedar. Ne mund të kufizojmë madhësinë e skedarit, për shembull, në 0, atëherë kur shkruani dhe lexoni, 0 do të krahasohet me fjalëkalimin. Kjo mund të bëhet kështu.
# ulimit -f 0
Tani le të ekzekutojmë programin.
Ne marrim një gabim. Nuk ka rëndësi, mund të përpunohet duke përdorur të njëjtin python.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Ne marrim flamurin dhe 100 pikët tona të lehta. Dhe vazhdojmë: në artikullin tjetër do të prekim Ueb-in. Mund të na bashkoheni në
Burimi: www.habr.com