Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux
In dit artikel lossen we de 25e opdracht van de site op pwnable.kr.

Organisatie-informatieSpeciaal voor degenen die meer willen leren en zich willen ontwikkelen in verschillende gebieden van informatie- en computerbeveiliging, zal ik schrijven en vertellen over de volgende categorieën:

  • PWN;
  • cryptografie (Crypto);
  • netwerk technologieën (Network);
  • reverse engineering (Reverse Engineering);
  • steganografie (Stegano);
  • het zoeken naar en exploiteren van WEB-kwetsbaarheden.

Daarnaast zal ik mijn ervaring delen in computerforensisch onderzoek, malware-analyse en firmware, aanvallen op draadloze netwerken en lokale netwerken, het uitvoeren van pentests en het schrijven van exploits.

Om je op de hoogte te houden van nieuwe artikelen, software en andere informatie, heb ik een kanaal op Telegram en groep opgericht voor het bespreken van vragen op het gebied van Informatiebeveiliging en Cyberbeveiliging. Ook zal ik persoonlijke verzoeken, vragen, voorstellen en aanbevelingen persoonlijk bekijken en iedereen beantwoorden.

Alle informatie is uitsluitend bedoeld voor educatieve doeleinden. De auteur van dit document aanvaardt geen enkele verantwoordelijkheid voor schade die aan iemand wordt toegebracht als gevolg van het gebruik van kennis en methoden die zijn verkregen door het bestuderen van dit document.

Oplossing van de opdracht otp

We gaan verder met het tweede deel. Ik zal meteen zeggen dat het moeilijker is dan de eerste, maar deze keer wordt de broncode van het programma verstrekt. Vergeet de discussie hier niet (https://t.me/RalfHackerPublicChat) en hier (https://t.me/RalfHackerChannel). Laten we beginnen.

Klik op het pictogram met het label otp. We krijgen een adres en poort voor de verbinding.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

We verbinden en kijken rond op de server.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

De vlag die we niet kunnen lezen, het programma en de broncode ervan. Laten we de broncode bekijken.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

We analyseren het. Het programma accepteert het wachtwoord als argument.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

Vervolgens worden er 16 willekeurige bytes opgeslagen in de variable otp.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

In de map tmp wordt een bestand met een willekeurige naam (de eerste 8 bytes van otp) aangemaakt en daarin worden 8 willekeurige bytes (de laatste 8 bytes van otp) geschreven.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

Om een of andere reden wordt de waarde van het aangemaakte bestand gelezen en vergeleken met het ingevoerde wachtwoord.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

Hier is de kwetsbaarheid. Het zit in de tussenliggende opslag van het gegenereerde getal in een bestand. We kunnen de grootte van het bestand beperken, bijvoorbeeld tot 0, zodat met het schrijven en lezen met het wachtwoord 0 zal worden vergeleken. Dit kan op de volgende manier worden gedaan.

# ulimit -f 0

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

Laten we nu het programma starten.

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

We krijgen een foutmelding. Geen probleem, we kunnen deze oplossen met dezelfde Python.

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

Oplossing van de opdracht op pwnable.kr 25 — otp. Beperkingen van bestandsgrootte in Linux

We krijgen de vlag en onze gemakkelijke 100 punten. En we gaan verder: in het volgende artikel bespreken we Web. U kunt zich bij ons voegen in Telegram.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster