Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke
U ovom članku ćemo riješiti 25. zadatak sa stranice pwnable.kr.

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 Telegram kanal и grupi za raspravu o svim problemima na području IIKB-a. Također i vaše osobne zahtjeve, pitanja, sugestije i preporuke Pogledat ću i svima odgovoriti..

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.

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Spajamo se i razgledavamo server.

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

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

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Idemo to riješiti. Program uzima lozinku kao argument.

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

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

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

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

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Iz nekog razloga, vrijednost stvorene datoteke se čita i uspoređuje s unesenom lozinkom.

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

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

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Sada pokrenimo program.

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

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

Rješavanje zadatka pomoću pwnable.kr 25 - otp. Linux ograničenje veličine datoteke

Dobivamo zastavu i svojih lakih 100 bodova. I nastavljamo: u sljedećem članku dotaknut ćemo se weba. Možete nam se pridružiti na Telegram.

Izvor: www.habr.com

Dodajte komentar