U ovom članku ćemo riješiti 25. zadatak sa stranice
organizacijske informacijePosebno za one koji žele naučiti nešto novo i razvijati se u nekom od područja informacijske i računalne sigurnosti, pisati ću i govoriti o sljedećim kategorijama:
- borovina;
- kriptografija (Crypto);
- mrežne tehnologije (Network);
- obrnuti (obrnuti inženjering);
- steganografija (Stegano);
- pretraživanje i iskorištavanje WEB ranjivosti.
Osim toga, podijelit ću svoje iskustvo u računalnoj forenzici, analizi malwarea i firmwarea, napadima na bežične mreže i lokalne mreže, pentestingu i pisanju exploita.
Kako biste mogli saznati o novim člancima, softveru i drugim informacijama, stvorio sam
Sve informacije služe samo u obrazovne svrhe. Autor ovog dokumenta ne preuzima nikakvu odgovornost za bilo kakvu štetu nastalu bilo kome kao rezultat korištenja znanja i metoda dobivenih kao rezultat proučavanja ovog dokumenta.
Rješavanje otp zadatka
Nastavimo s drugim dijelom. Odmah ću reći da je kompliciraniji od prvog, ali ovaj put ne daju izvorni kod programa. Ne zaboravite na raspravu ovdje (https://t.me/RalfHackerPublicChat) i ovdje (https://t.me/RalfHackerChannel). Započnimo.
Kliknite na ikonu s potpisom otp. Dobili smo adresu i port za spajanje.
Spajamo se i razgledavamo server.
Zastavica koju ne možemo pročitati, program i njegov izvorni kod. Pogledajmo izvor.
Idemo to riješiti. Program uzima lozinku kao argument.
Zatim se nasumičnih 16 bajtova sprema u otp varijablu.
Datoteka s nasumičnim imenom kreira se u mapi tmp (prvih 8 bajtova je otp) iu nju se upisuje nasumičnih 8 bajtova (drugih 8 bajtova je otp).
Iz nekog razloga, vrijednost stvorene datoteke se čita i uspoređuje s unesenom lozinkom.
Ovdje dolazi do ranjivosti. Sastoji se od privremenog spremanja generiranog broja u datoteku. Veličinu datoteke možemo ograničiti, na primjer, na 0, tada će se prilikom pisanja i čitanja s lozinkom uspoređivati 0. To se može učiniti ovako.
# ulimit -f 0
Sada pokrenimo program.
Dobivamo pogrešku. Nije važno, može se obraditi pomoću istog pythona.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Dobivamo zastavu i svojih lakih 100 bodova. I nastavljamo: u sljedećem članku dotaknut ćemo se weba. Možete nam se pridružiti na
Izvor: www.habr.com