Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux
V tomto článku vyriešime 25. úlohu zo stránky pwnable.kr.

organizačné informácieNajmä pre tých, ktorí sa chcú naučiť niečo nové a rozvíjať sa v akejkoľvek oblasti informačnej a počítačovej bezpečnosti, budem písať a hovoriť o nasledujúcich kategóriách:

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

Okrem toho sa podelím o svoje skúsenosti v oblasti počítačovej forenznej analýzy, analýzy malvéru a firmvéru, útokov na bezdrôtové siete a lokálne siete, vykonávania pentestov a písania exploitov.

Aby ste sa mohli dozvedieť o nových článkoch, softvéri a iných informáciách, vytvoril som Telegramový kanál и skupina na prediskutovanie akýchkoľvek problémov v areáli IIKB. Aj vaše osobné požiadavky, otázky, návrhy a odporúčania Pozriem sa a každému odpoviem..

Všetky informácie sú poskytované len na vzdelávacie účely. Autor tohto dokumentu nepreberá žiadnu zodpovednosť za akúkoľvek škodu spôsobenú komukoľvek v dôsledku použitia vedomostí a metód získaných štúdiom tohto dokumentu.

Riešenie úlohy otp

Pokračujme v druhej časti. Hneď poviem, že je to komplikovanejšie ako prvé, ale tentoraz neposkytujú zdrojový kód programu. Nezabudnite na diskusiu tu (https://t.me/RalfHackerPublicChat) a tu (https://t.me/RalfHackerChannel). Poďme začať.

Kliknite na ikonu s podpisom otp. Dostaneme adresu a port, ku ktorému sa môžeme pripojiť.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Pripojíme sa a rozhliadneme sa po serveri.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Príznak, ktorý nevieme prečítať, program a jeho zdrojový kód. Pozrime sa na zdroj.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Poďme to vyriešiť. Program berie heslo ako argument.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Ďalej je do premennej otp uložených náhodných 16 bajtov.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

V priečinku tmp sa vytvorí súbor s náhodným názvom (prvých 8 bajtov je otp) a zapíše sa doň náhodných 8 bajtov (druhých 8 bajtov je otp).

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Z nejakého dôvodu sa načíta hodnota vytvoreného súboru a porovná sa so zadaným heslom.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Tu prichádza na scénu zraniteľnosť. Pozostáva z prechodného uloženia vygenerovaného čísla do súboru. Veľkosť súboru môžeme obmedziť napríklad na 0, potom sa pri zápise a čítaní bude porovnávať s heslom 0. Dá sa to urobiť takto.

# ulimit -f 0

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Teraz spustíme program.

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Dostaneme chybu. Nezáleží na tom, dá sa spracovať pomocou rovnakého pythonu.

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

Riešenie úlohy s pwnable.kr 25 - otp. Limit veľkosti súboru Linux

Získame vlajku a našich ľahkých 100 bodov. A pokračujeme: v ďalšom článku sa dotkneme webu. Môžete sa k nám pridať na telegram.

Zdroj: hab.com

Pridať komentár