Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux
I denna artikel löser vi uppgift 25 frÄn webbplatsen pwnable.kr.

OrganisationsinformationSpeciellt för dem som vill lÀra sig nÄgot nytt och utvecklas inom olika omrÄden av informations- och datorsÀkerhet, kommer jag att skriva och berÀtta om följande kategorier:

  • PWN;
  • kryptografi (Crypto);
  • nĂ€tverksteknologier (Network);
  • reverse engineering (Reverse Engineering);
  • steganografi (Stegano);
  • sökning och utnyttjande av WEB-sĂ„rbarheter.

Utöver detta kommer jag att dela med mig av min erfarenhet inom datorforensik, analys av skadlig programvara och firmware, attacker pÄ trÄdlösa nÀtverk och lokala datanÀtverk, genomförande av penetrationstester och skrivande av exploits.

För att du ska kunna hĂ„lla dig informerad om nya artiklar, programvara och annan information har jag skapat en kanal pĂ„ Telegram och en grupp för att diskutera alla frĂ„gor inom omrĂ„det cybersĂ€kerhet. Även dina personliga förfrĂ„gningar, frĂ„gor, förslag och rekommendationer kommer jag att ta upp personligen och svara alla.

All information presenteras uteslutande i utbildningssyfte. Författaren av detta dokument tar inget ansvar för eventuell skada som orsakas nÄgon genom anvÀndning av kunskaper och metoder som erhÄllits genom att studera detta dokument.

Lösning av uppgift otp

Vi fortsÀtter med den andra delen. Jag sÀger med en gÄng att den Àr svÄrare Àn den första, men denna gÄng fÄr vi inte programkoden. Glöm inte diskussionen hÀr(https://t.me/RalfHackerPublicChat) och hÀr (https://t.me/RalfHackerChannel). Vi börjar.

Vi klickar pÄ ikonen med namnet otp. Vi fÄr en adress och port för att ansluta.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Vi ansluter och ser oss omkring pÄ servern.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Flaggan som vi inte kan lÀsa, programmet och dess kÀllkod. LÄt oss titta pÄ kÀllkoden.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Vi gÄr igenom den. Programmet tar ett lösenord som argument.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

DÀrefter sparas 16 slumpmÀssiga byte i variabeln otp.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

I mappen tmp skapas en fil med ett slumpmÀssigt namn (de första 8 byte av otp) och 8 slumpmÀssiga byte (de andra 8 byte av otp) skrivs in i den.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Av nÄgon anledning lÀses vÀrdet frÄn den skapade filen och jÀmförs med det angivna lösenordet.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

HÀr förekommer sÄrbarheten. Den ligger i mellanlagringen av det genererade talet i filen. Vi kan begrÀnsa filstorleken, till exempel till 0, sÄ att vid skrivning och lÀsning med lösenordet jÀmförs 0. Detta kan göras sÄ hÀr.

# ulimit -f 0

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Nu ska vi köra programmet.

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Vi fÄr ett fel. Ingen fara, det kan hanteras med hjÀlp av Python.

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

Lösning av uppgiften frĂ„n pwnable.kr 25 — otp. FilstorleksbegrĂ€nsning i Linux

Vi fÄr flaggan och lÀtta 100 poÀng. Och vi fortsÀtter: i nÀsta artikel kommer vi att beröra Web. Du kan gÄ med oss i Telegram.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster