Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux
V tomto článku vyřešíme 25. úkol ze stránky pwnable.kr.

organizační informaceZejména pro ty, kteří se chtějí naučit něco nového a rozvíjet se v jakékoli oblasti informační a počítačové bezpečnosti, budu psát a mluvit o následujících kategoriích:

  • PWN;
  • kryptografie (Crypto);
  • síťové technologie (síť);
  • reverzní (reverzní inženýrství);
  • steganografie (Stegano);
  • vyhledávání a zneužívání zranitelností WEB.

Kromě toho se podělím o své zkušenosti v oblasti počítačové forenzní analýzy, analýzy malwaru a firmwaru, útoků na bezdrátové sítě a lokální sítě, provádění pentestů a psaní exploitů.

Abyste se mohli dozvědět o nových článcích, softwaru a dalších informacích, vytvořil jsem Telegramový kanál и skupina k prodiskutování jakýchkoli problémů v areálu IIKB. Také vaše osobní požadavky, dotazy, návrhy a doporučení Podívám se a všem odpovím..

Veškeré informace jsou poskytovány pouze pro vzdělávací účely. Autor tohoto dokumentu nepřebírá žádnou odpovědnost za jakékoli škody způsobené komukoli v důsledku použití znalostí a metod získaných studiem tohoto dokumentu.

Řešení úlohy otp

Pokračujme druhou částí. Hned řeknu, že je to složitější než ten první, ale tentokrát neposkytují zdrojový kód programu. Nezapomeňte na diskuzi zde (https://t.me/RalfHackerPublicChat) a zde (https://t.me/RalfHackerChannel). Pojďme začít.

Klikněte na ikonu s podpisem otp. Dostaneme adresu a port, ke kterému se máme připojit.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Připojíme se a rozhlédneme se po serveru.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Příznak, který nemůžeme přečíst, program a jeho zdrojový kód. Podívejme se na zdroj.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Pojďme to vyřešit. Program bere jako argument heslo.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Dále je do proměnné otp uloženo náhodných 16 bajtů.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Ve složce tmp se vytvoří soubor s náhodným názvem (prvních 8 bajtů je otp) a zapíše se do něj náhodných 8 bajtů (druhých 8 bajtů je otp).

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Z nějakého důvodu je načtena hodnota vytvořeného souboru a porovnána se zadaným heslem.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Zde přichází na řadu zranitelnost. Spočívá v přechodném uložení vygenerovaného čísla do souboru. Velikost souboru můžeme omezit např. na 0, při zápisu a čtení se pak bude s heslem porovnávat 0. Dá se to udělat takto.

# ulimit -f 0

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Nyní spustíme program.

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Dostaneme chybu. Nezáleží na tom, lze to zpracovat pomocí stejného pythonu.

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

Řešení úkolu s pwnable.kr 25 - otp. Limit velikosti souboru Linux

Získáme vlajku a našich 100 bodů. A pokračujeme: v příštím článku se dotkneme webu. Můžete se k nám přidat na Telegram.

Zdroj: www.habr.com

Přidat komentář