Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse
I denne artikel løser vi den 25. opgave fra siden pwnable.kr.

organisatoriske oplysningerIsær for dem, der ønsker at lære noget nyt og udvikle sig inden for ethvert område af information og computersikkerhed, vil jeg skrive og tale om følgende kategorier:

  • PWN;
  • kryptografi (Crypto);
  • netværksteknologier (netværk);
  • omvendt (Reverse Engineering);
  • steganografi (Stegano);
  • søgning og udnyttelse af WEB-sårbarheder.

Udover dette vil jeg dele min erfaring inden for computerforensik, malware- og firmwareanalyse, angreb på trådløse netværk og lokale netværk, udføre pentests og skrive exploits.

For at du kan finde ud af om nye artikler, software og anden information, har jeg oprettet Telegram kanal и gruppe for at diskutere eventuelle problemer i IIKB-området. Også dine personlige ønsker, spørgsmål, forslag og anbefalinger Jeg vil tage et kig og svare til alle..

Alle oplysninger gives kun til uddannelsesformål. Forfatteren af ​​dette dokument påtager sig intet ansvar for skader forårsaget af nogen som følge af brugen af ​​den viden og de metoder, der er opnået som et resultat af at studere dette dokument.

Løsning af otp-opgaven

Lad os fortsætte med det andet afsnit. Jeg vil med det samme sige, at det er mere kompliceret end den første, men denne gang leverer de ikke kildekoden til programmet. Glem ikke diskussionen her (https://t.me/RalfHackerPublicChat) og her (https://t.me/RalfHackerChannel). Lad os begynde.

Klik på ikonet med signaturen otp. Vi får en adresse og port at forbinde til.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Vi forbinder og kigger rundt på serveren.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Et flag, som vi ikke kan læse, et program og dets kildekode. Lad os se på kilden.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Lad os ordne det. Programmet tager en adgangskode som et argument.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Dernæst gemmes tilfældige 16 bytes i otp-variablen.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

En fil med et tilfældigt navn oprettes i tmp-mappen (de første 8 bytes er otp), og tilfældige 8 bytes skrives til den (de anden 8 bytes er otp).

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Af en eller anden grund læses værdien af ​​den oprettede fil og sammenlignes med den indtastede adgangskode.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Det er her, sårbarheden kommer ind. Det består i at gemme det genererede nummer i en fil. Vi kan begrænse filstørrelsen til fx 0, så vil der ved skrivning og læsning sammenlignes 0 med adgangskoden.Det kan gøres sådan.

# ulimit -f 0

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Lad os nu køre programmet.

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Vi får en fejl. Det er ligegyldigt, det kan behandles ved hjælp af den samme python.

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

Løser opgaven med pwnable.kr 25 - otp. Grænse for Linux-filstørrelse

Vi får flaget og vores nemme 100 point. Og vi fortsætter: i den næste artikel vil vi berøre nettet. Du kan slutte dig til os kl Telegram.

Kilde: www.habr.com

Tilføj en kommentar