De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux
In dit artikel lossen we de 25e taak van de site op pwnable.kr.

organisatorische informatieSpeciaal voor degenen die iets nieuws willen leren en zich willen ontwikkelen op een van de gebieden van informatie- en computerbeveiliging, zal ik schrijven en praten over de volgende categorieën:

  • PWN;
  • cryptografie (Crypto);
  • netwerktechnologieën (Netwerk);
  • omgekeerd (reverse engineering);
  • steganografie (Stegano);
  • zoeken en exploiteren van WEB-kwetsbaarheden.

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

Zodat u meer te weten kunt komen over nieuwe artikelen, software en andere informatie, heb ik gemaakt kanaal in Telegram и groep om eventuele problemen te bespreken in de omgeving van IIKB. Ook uw persoonlijke verzoeken, vragen, suggesties en aanbevelingen Ik zal eens kijken en op iedereen reageren..

Alle informatie wordt alleen verstrekt voor educatieve doeleinden. De auteur van dit document aanvaardt geen verantwoordelijkheid voor enige schade die aan wie dan ook wordt toegebracht als gevolg van het gebruik van de kennis en methoden die zijn verkregen door het bestuderen van dit document.

De OTP-taak oplossen

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

Klik op het icoontje met de handtekening otp. We krijgen een adres en een poort om verbinding mee te maken.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

We maken verbinding en kijken rond op de server.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

De vlag die we niet kunnen lezen is het programma en de broncode. Laten we de bron bekijken.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

Laten we het oppakken. Het programma neemt een wachtwoord als argument.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

Verder worden willekeurige 16 bytes opgeslagen in de otp-variabele.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

Er wordt een bestand met een willekeurige naam gemaakt in de map tmp (de eerste 8 bytes zijn otp) en er worden willekeurige 8 bytes naar geschreven (de tweede 8 bytes zijn otp).

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

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

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

Er is hier een kwetsbaarheid. Het bestaat uit het tussentijds opslaan van het gegenereerde nummer in een bestand. We kunnen de bestandsgrootte bijvoorbeeld beperken tot 0, dan wordt bij het schrijven en lezen 0 vergeleken met het wachtwoord.Je kunt het zo doen.

# ulimit -f 0

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

Laten we nu het programma uitvoeren.

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

We krijgen een foutmelding. Het maakt niet uit, het kan worden verwerkt met dezelfde python.

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

De taak oplossen met pwnable.kr 25 - otp. Limiet voor de bestandsgrootte van Linux

We krijgen de vlag en onze gemakkelijke 100 punten. En we gaan verder: in het volgende artikel zullen we ingaan op het web. U kunt bij ons terecht op Telegram.

Bron: www.habr.com

Voeg een reactie