Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu
V tomto článku vyřešíme 25. úkol z webu pwnable.kr.

Organizační informaceSpeciálně pro ty, kteří se chtějí dozvědět něco nového a rozvíjet se v jakékoli oblasti informační a počítačové bezpečnosti, budu psát a vyprávět o následujících kategoriích:

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

Kromě toho se podělím o své zkušenosti v počítačové kriminalistice, analýze malwaru a firmwaru, útocích na bezdrátové sítě a místní výpočetní sítě, provádění penetračních testů a psaní exploitů.

Abychom vás mohli informovat o nových článcích, softwaru a dalších informacích, vytvořil jsem kanál na Telegramu a skupinu pro diskuzi jakýchkoli otázek v oblasti IKT. Také vaše osobní žádosti, otázky, návrhy a doporučení projednám osobně a odpovím všem.

Veškeré informace jsou poskytovány výhradně pro vzdělávací účely. Autor tohoto dokumentu nenese žádnou odpovědnost za jakoukoli škodu způsobenou komukoli v důsledku použití znalostí a metod získaných studií tohoto dokumentu.

Řešení úkolu otp

Pokračujeme do druhé části. Hned řeknu, že je to složitější než první, ale tentokrát nám neposkytují zdrojový kód programu. Nezapomeňte na diskuzi zde(https://t.me/RalfHackerPublicChat) a zde (https://t.me/RalfHackerChannel). Začněme.

Klikneme na ikonu s nápisem otp. Dávají nám adresu a port pro připojení.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Připojíme se a prozkoumáme server.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Flag, který nemůžeme přečíst, program a jeho zdrojový kód. Pojďme se podívat na zdroj.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Rozebíráme jej. Program přijímá jako argument heslo.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Dále se do proměnné otp ukládá náhodných 16 bytů.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

V adresáři tmp se vytváří soubor se náhodným názvem (prvních 8 bytů otp) a do něj se zapisuje náhodných 8 bytů (druhých 8 bytů otp).

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

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

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Zde se nachází zranitelnost. Týká se meziukládání generovaného čísla do souboru. Můžeme omezit velikost souboru, například na 0, a tak bude při zápisu a čtení s heslem porovnáváno 0. Můžeme to udělat takto.

# ulimit -f 0

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Nyní spustíme program.

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Dostáváme chybu. Nic se neděje, může být zpracována pomocí stejný Python.

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

Řešení úkolu z pwnable.kr 25 — otp. Omezení velikosti souboru v Linuxu

Získáváme vlajku a snadných 100 bodů. Pokračujeme: v příštím článku se zaměříme na Web. Můžete se k nám připojit na Telegram.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster