Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux
Dans cet article, nous allons résoudre la 25ème tâche du site pwnable.kr.

informations organisationnellesSurtout pour ceux qui veulent apprendre quelque chose de nouveau et se développer dans n'importe quel domaine de l'information et de la sécurité informatique, j'écrirai et parlerai des catégories suivantes :

  • PWN ;
  • cryptographie (Crypto);
  • technologies de réseau (réseau);
  • inverse (ingénierie inverse);
  • stéganographie (Stegano) ;
  • recherche et exploitation de vulnérabilités WEB.

En plus de cela, je partagerai mon expérience en matière d'investigation informatique, d'analyse de logiciels malveillants et de micrologiciels, d'attaques sur les réseaux sans fil et les réseaux locaux, de réalisation de pentests et d'écriture d'exploits.

Afin que vous puissiez découvrir de nouveaux articles, logiciels et autres informations, j'ai créé Chaîne de télégramme и groupe pour discuter de tout problème dans le domaine de l'IIKB. Aussi vos demandes personnelles, questions, suggestions et recommandations Je vais regarder et répondre à tout le monde..

Toutes les informations sont fournies à des fins éducatives uniquement. L'auteur de ce document n'assume aucune responsabilité pour tout dommage causé à quiconque à la suite de l'utilisation des connaissances et des méthodes obtenues à la suite de l'étude de ce document.

Résoudre la tâche OTP

Continuons avec la deuxième section. Je dirai tout de suite que c'est plus compliqué que le premier, mais cette fois ils ne fournissent pas le code source du programme. N'oubliez pas la discussion ici (https://t.me/RalfHackerPublicChat) et ici (https://t.me/RalfHackerChannel). Commençons.

Cliquez sur l'icône avec la signature OTP. On nous donne une adresse et un port auxquels se connecter.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Nous nous connectons et regardons autour du serveur.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Un drapeau que l'on ne peut pas lire, un programme et son code source. Regardons la source.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Réglons cela. Le programme prend un mot de passe comme argument.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Ensuite, 16 octets aléatoires sont stockés dans la variable otp.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Un fichier avec un nom aléatoire est créé dans le dossier tmp (les 8 premiers octets sont otp) et 8 octets aléatoires y sont écrits (les 8 seconds octets sont otp).

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Pour une raison quelconque, la valeur du fichier créé est lue et comparée au mot de passe saisi.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

C'est là qu'intervient la vulnérabilité. Elle consiste à sauvegarder intermédiairement le numéro généré dans un fichier. Nous pouvons limiter la taille du fichier, par exemple, à 0, puis lors de l'écriture et de la lecture, 0 sera comparé au mot de passe.

# ulimit -f 0

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Maintenant, exécutons le programme.

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Nous obtenons une erreur. Ce n'est pas grave, il peut être traité en utilisant le même python.

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

Résoudre la tâche avec pwnable.kr 25 - otp. Limite de taille de fichier Linux

Nous obtenons le drapeau et nos 100 points faciles. Et nous continuons : dans le prochain article, nous aborderons le Web. Vous pouvez nous rejoindre à Telegram.

Source: habr.com

Ajouter un commentaire