U ovom članku ćemo riješiti 25. zadatak sa stranice
Organizacijske informacijePosebno za one koji žele naučiti nešto novo i razviti se u bilo kojoj oblasti informacione i računarske sigurnosti, pisaću i govoriti o sljedećim kategorijama:
- PWN;
- kriptografija (Crypto);
- mrežne tehnologije (Network);
- obrnuto (obrnuti inženjering);
- steganografija (Stegano);
- pretraživanje i iskorištavanje WEB ranjivosti.
Osim ovoga, podijelit ću svoje iskustvo u kompjuterskoj forenzici, analizi malvera i firmvera, napadima na bežične mreže i lokalne mreže, provođenju pentestova i pisanju exploita.
Da bih vam pomogao da budete u toku s novim člancima, softverom i drugim informacijama, kreirao sam
Sve informacije su predstavljene samo u obrazovne svrhe. Autor ovog dokumenta ne prihvata nikakvu odgovornost za bilo kakvu štetu prouzrokovanu bilo kome kao rezultat upotrebe znanja i tehnika stečenih proučavanjem ovog dokumenta.
Rješavanje otp zadatka
Nastavimo s drugim dijelom. Odmah ću reći da je složeniji od prvog, ali ovaj put ne daju izvorni kod programa. Ne zaboravite na diskusiju ovdje (https://t.me/RalfHackerPublicChat) i ovdje (https://t.me/RalfHackerChannel). Počnimo.
Kliknite na ikonu sa potpisom otp. Dobili smo adresu i port za povezivanje.
Povezujemo se i razgledavamo server.
Oznaka koju ne možemo pročitati, program i njegov izvorni kod. Pogledajmo izvor.
Hajde da to sredimo. Program uzima lozinku kao argument.
Zatim se nasumičnih 16 bajtova pohranjuje u varijablu otp.
Fajl sa nasumičnim imenom kreira se u tmp folderu (prvih 8 bajtova su otp) i u njega se upisuje nasumičnih 8 bajtova (drugih 8 bajtova su otp).
Iz nekog razloga, vrijednost kreirane datoteke se čita i upoređuje sa unesenom lozinkom.
Tu dolazi do ranjivosti. Sastoji se od posrednog pohranjivanja generiranog broja u datoteku. Veličinu datoteke možemo ograničiti, na primjer, na 0, tada će se prilikom pisanja i čitanja 0 upoređivati sa lozinkom. Ovo se može učiniti ovako.
# ulimit -f 0
Sada pokrenimo program.
Dobijamo grešku. Nema veze, može se obraditi pomoću istog pythona.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Dobijamo zastavu i naših lakih 100 poena. I nastavljamo: u sljedećem članku ćemo se dotaknuti weba. Možete nam se pridružiti na
izvor: www.habr.com