Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.
V tomto článku vyriešime 25. úlohu z webu pwnable.kr.

Organizačné informácieŠpeciálne pre tých, ktorí chcú objavovať nové informácie a rozvíjať sa v akejkoľvek oblasti informačnej a počítačovej bezpečnosti, budem písať a rozprávať o nasledujúcich kategóriách:

  • PWN;
  • kryptografia (Crypto);
  • sieťové technológie (Network);
  • reverzné inžinierstvo (Reverse Engineering);
  • steganografia (Stegano);
  • hľadanie a využívanie WEB zraniteľností.

Navyše sa podelím o svoje skúsenosti v oblasti počítačovej kriminalistiky, analýze malvéru a firmvéru, útokoch na bezdrôtové siete a lokálne výpočtové siete, vykonávaní penetračných testov a písaní exploitov.

Aby ste sa mohli dozvedať o nových článkoch, softvéri a iných informáciách, vytvoril som kanál na Telegrame a skupinu na diskusiu o akýchkoľvek otázkach v oblasti IKT. Takisto vaše osobné požiadavky, otázky, návrhy a odporúčania zvážim osobne a odpoviem všetkým.

Všetky informácie sú poskytované výlučne na vzdelávacie účely. Autor tohto dokumentu nenesie žiadnu zodpovednosť za akékoľvek škody spôsobené komukoľvek v dôsledku využívania poznatkov a metód získaných štúdiom tohto dokumentu.

Riešenie úlohy otp

Pokračujeme druhou časťou. Povieme hneď, že je náročnejšia ako prvá, ale tentoraz nám nezasielajú zdrojový kód programu. Nezabúdajme na diskusiu tu (https://t.me/RalfHackerPublicChat) a tu (https://t.me/RalfHackerChannel). Začneme.

Klikneme na ikonu s popisom otp. Dostaneme adresu a port na pripojenie.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Pripojíme sa a popozeráme sa na serveri.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Flag, ktorý nemôžeme prečítať, program a jeho zdrojový kód. Pozrime sa na zdrojový kód.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Rozoberieme ho. Program prijíma ako argument heslo.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Ďalej sa do premennej otp uložia náhodné 16 bajty.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

V priečinku tmp sa vytvorí súbor so случайným názvom (prvých 8 bajtov otp) a do neho sa zapíšu náhodné 8 bajtov (druhých 8 bajtov otp).

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Je nejakým spôsobom prečítaná hodnota z vytvoreného súboru a porovnáva sa s zadaným heslom.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Tu sa nachádza zraniteľnosť. Týka sa medzičasu uloženia generovaného čísla do súboru. Môžeme obmedziť veľkosť súboru, napríklad na 0, takže pri zápise a čítaní s heslom sa bude porovnávať 0. Môžeme to urobiť takto.

# ulimit -f 0

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Teraz spustíme program.

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Získavame chybu. Nič sa nedeje, dá sa spracovať pomocou toho istého Pythona.

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

Riešenie úlohy z pwnable.kr 25 — otp. Obmedzenie rámca súboru v Linuxe.

Získavame vlajku a jednoduchých 100 bodov. A pokračujeme: v nasledujúcom článku sa dotkneme Webu. Môžete sa k nám pridať na Telegram.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster