Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu
V tem članku bomo rešili 25. nalogo s spletne strani pwnable.kr.

Organizacione informacijePosebno za one koji žele saznati nešto novo i razvijati se u bilo kojoj od oblasti informacionih i računarskih sigurnosti, pisat ću i pričati o sljedećim kategorijama:

  • PWN;
  • kriptografija (Crypto);
  • mrežne tehnologije (Network);
  • obrnuto inženjerstvo (Reverse Engineering);
  • steganografija (Stegano);
  • traženje i eksploatacija WEB-ranljivosti.

Pored toga, podijelit ću svoje iskustvo u računarstvu, analizi malvara i firmware-a, napadima na bežične mreže i lokalne računarske mreže, provođenju pentestova i pisanju eksploita.

Kako biste mogli saznati o novim člancima, softveru i drugim informacijama, stvorio sam kanal na Telegramu in grupu za raspravu o svim pitanjima u oblasti IiiK. Takođe, vaše lične molbe, pitanja, prijedlozi i preporuke razmotriću lično i odgovarati svima.

Sve informacije su predstavljene isključivo u obrazovne svrhe. Autor ovog dokumenta ne snosi nikakvu odgovornost za bilo kakvu štetu koja može nastati kao rezultat korišćenja znanja i metoda stečenih proučavanjem ovog dokumenta.

Rešitev naloge otp

Nadaljujemo z drugim delom. Takoj bom povedal, da je težji od prvega, vendar tokrat ne nudijo izvorne kode programa. Ne pozabite na razpravo tukaj (https://t.me/RalfHackerPublicChat) in tukaj (https://t.me/RalfHackerChannel). Začnimo.

Kliknemo na ikono z oznako otp. Pridobimo naslov in vrata za povezavo.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Povežemo se in si ogledamo strežnik.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Zastavo, ki je ne moremo prebrati, program in njegova izvorna koda. Oglejmo si izvorno kodo.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Razberimo ga. Program sprejema geslo kot argument.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Nato se v spremenljivko otp shrani naključnih 16 bajtov.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

V mapi tmp se ustvari datoteka z naključnim imenom (prvih 8 bajtov otp) in vanjo se zapiše naključnih 8 bajtov (drugih 8 bajtov otp).

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Nekako se prebere vrednost te ustvarjene datoteke in se primerja z vnešenim geslom.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Tukaj je prisotna ranljivost. Ta je v vmesnem shranjevanju generirane številke v datoteko. Lahko omejimo velikost datoteke, na primer na 0, tako da bo pri zapisovanju in branju z geslom prišlo do primerjave z 0. To lahko storimo tako.

# ulimit -f 0

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Zdaj zaženimo program.

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Prejeli smo napako. Nič hudega, saj jo lahko obdelamo s pomočjo istega Pythona.

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

Reševanje naloge z pwnable.kr 25 — otp. Omejitev velikosti datoteke v Linuxu

Prejeli smo zastavo in lahkih 100 točk. Nato nadaljujemo: v naslednjem članku se bomo dotaknili Weba. Pridružite se nam v Telegram.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster