Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla
U ovom članku ćemo riješiti 25. zadatak sa stranice pwnable.kr.

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 Telegram kanal и grupa za diskusiju o svim pitanjima u oblasti I&KB. Također i Vaši lični zahtjevi, pitanja, prijedlozi i preporuke Lično ću to ispitati i odgovoriti svima..

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.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Povezujemo se i razgledavamo server.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Oznaka koju ne možemo pročitati, program i njegov izvorni kod. Pogledajmo izvor.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Hajde da to sredimo. Program uzima lozinku kao argument.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Zatim se nasumičnih 16 bajtova pohranjuje u varijablu otp.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

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).

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Iz nekog razloga, vrijednost kreirane datoteke se čita i upoređuje sa unesenom lozinkom.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

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

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

Sada pokrenimo program.

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

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')" 

Rješavanje zadatka s pwnable.kr 25 - otp. Ograničenje veličine Linux fajla

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 telegram.

izvor: www.habr.com

Dodajte komentar