Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu
U ovom članku ćemo riješiti 25. zadatak s web stranice pwnable.kr.

Organizacione informacijePosebno za one koji žele da uče nešto novo i razvijaju se u bilo kojoj oblasti informatičke i računalne sigurnosti, pisat ću i govoriti o sljedećim kategorijama:

  • PWN;
  • kriptografija (Crypto);
  • mrežne tehnologije (Network);
  • reverse inženjering (Reverse Engineering);
  • steganografija (Stegano);
  • pronaći i eksploatirati WEB ranjivosti.

Uz to, podijelit ću svoje iskustvo u računalnoj forenzici, analizi malvera i firmware-a, napadima na bežične mreže i lokalne računarske mreže, provođenju pentestova i pisanju eksploita.

Da biste bili u toku s novim člancima, softverom i drugim informacijama, stvorio sam kanal na Telegramu i grupu za raspravu o svim pitanjima u oblasti informacione i komunikacione bezbednosti. Takođe, vaše lične molbe, pitanja, predlozi i preporuke biću lično razmotrene i svima ću odgovoriti.

Sve informacije su predstavljene isključivo u obrazovne svrhe. Autor ovog dokumenta ne preuzima nikakvu odgovornost za bilo kakvu štetu koju bi neko mogao pretrpeti kao rezultat korišćenja znanja i metoda dobijenih proučavanjem ovog dokumenta.

Rješenje zadatka otp

Nastavljamo s drugim dijelom. Odmah da napomenem, složenije je 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 oznakom otp. Daju nam adresu i port za povezivanje.

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Povezujemo se i istražujemo server.

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

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

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Analiziramo ga. Program prihvaća lozinku kao argument.

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Nakon toga se u varijablu otp pohranjuje nasumičnih 16 bajtova.

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

U mapi tmp se stvara datoteka s nasumičnim imenom (prvih 8 bajtova otp) i u nju se zapisuje nasumičnih 8 bajtova (drugih 8 bajtova otp).

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

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

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Ovdje se pojavljuje ranjivost. Ona se sastoji u privremenom spremanju generiranog broja u datoteku. Možemo ograničiti veličinu datoteke, na primjer na 0, tada će se pri zapisivanju i čitanju s lozinkom uspoređivati 0. To možemo učiniti ovako.

# ulimit -f 0

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Sada pokrećemo program.

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Dobivamo grešku. Nije problem, može se obraditi pomoću iste Pythona.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Rješenje zadatka s pwnable.kr 25 — otp. Ograničenje veličine datoteke u Linuxu

Dobivamo zastavu i svojih laganih 100 bodova. Nastavljamo: u sljedećem članku dotaknut ćemo se Weba. Možete nam se pridružiti na Telegram.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster