Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße
In diesem Artikel lösen wir die 25. Aufgabe der Website pwnable.kr.

organisatorische InformationenSpeziell für diejenigen, die etwas Neues lernen und sich in einem der Bereiche der Informations- und Computersicherheit weiterentwickeln möchten, werde ich über die folgenden Kategorien schreiben und sprechen:

  • PWN;
  • Kryptographie (Krypto);
  • Netzwerktechnologien (Netzwerk);
  • umgekehrt (Reverse Engineering);
  • Steganographie (Stegano);
  • Suche und Ausnutzung von WEB-Schwachstellen.

Darüber hinaus werde ich meine Erfahrungen in den Bereichen Computerforensik, Malware- und Firmware-Analyse, Angriffe auf drahtlose Netzwerke und lokale Netzwerke, Pentesting und Schreiben von Exploits weitergeben.

Damit Sie sich über neue Artikel, Software und andere Informationen informieren können, habe ich erstellt Kanal in Telegram и Gruppe, um etwaige Probleme zu besprechen im Bereich IIKB. Auch Ihre persönlichen Wünsche, Fragen, Anregungen und Empfehlungen Ich werde einen Blick darauf werfen und allen antworten..

Alle Informationen dienen ausschließlich Bildungszwecken. Der Autor dieses Dokuments übernimmt keine Verantwortung für Schäden, die irgendjemandem durch die Verwendung der durch das Studium dieses Dokuments erworbenen Kenntnisse und Methoden entstehen.

Lösung der OTP-Aufgabe

Weiter geht es mit dem zweiten Abschnitt. Ich sage gleich, dass es schwieriger ist als das erste, aber dieses Mal wird der Quellcode des Programms nicht bereitgestellt. Vergessen Sie nicht die Diskussion hier (https://t.me/RalfHackerPublicChat) und hier (https://t.me/RalfHackerChannel). Lasst uns beginnen.

Klicken Sie auf das Symbol mit der Signatur otp. Wir erhalten eine Adresse und einen Port, zu dem wir eine Verbindung herstellen können.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Wir verbinden uns und schauen uns auf dem Server um.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Die Flagge, die wir nicht lesen können, ist das Programm und sein Quellcode. Schauen wir uns die Quelle an.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Lass es uns aufgreifen. Als Argument akzeptiert das Programm ein Passwort.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Darüber hinaus werden zufällig 16 Bytes in der OTP-Variablen gespeichert.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Im TMP-Ordner wird eine Datei mit einem zufälligen Namen erstellt (die ersten 8 Bytes sind OTP) und es werden zufällige 8 Bytes hineingeschrieben (die zweiten 8 Bytes sind OTP).

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Aus irgendeinem Grund wird der Wert der erstellten Datei gelesen und mit dem eingegebenen Passwort verglichen.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Hier besteht eine Schwachstelle. Es besteht in der Zwischenspeicherung der generierten Nummer in einer Datei. Wir können die Dateigröße beispielsweise auf 0 begrenzen, dann wird beim Schreiben und Lesen 0 mit dem Passwort verglichen. Das kannst du so machen.

# ulimit -f 0

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Lassen Sie uns nun das Programm ausführen.

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Wir erhalten eine Fehlermeldung. Es spielt keine Rolle, es kann mit derselben Python verarbeitet werden.

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

Lösung der Aufgabe mit pwnable.kr 25 - otp. Beschränkung der Linux-Dateigröße

Wir bekommen die Flagge und unsere einfachen 100 Punkte. Und wir machen weiter: Im nächsten Artikel werden wir uns mit dem Web befassen. Sie können sich uns anschließen unter Telegram.

Source: habr.com

Kommentar hinzufügen