Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux
Dans cet article, nous allons résoudre le 25e exercice du site pwnable.kr.

Informations organisationnellesSpécialement pour ceux qui souhaitent apprendre quelque chose de nouveau et se développer dans tous les domaines de la sécurité informatique, je vais écrire et parler des catégories suivantes :

  • PWN;
  • cryptographie (Crypto);
  • technologies réseau (Network);
  • reverse (Reverse Engineering);
  • stéganographie (Stegano);
  • recherche et exploitation des vulnérabilités WEB.

De plus, je partagerai ma expérience en criminalistique numérique, analyse des malwares et des firmwares, attaques sur les réseaux sans fil et les réseaux locaux, réalisation de pentests et rédaction d'exploits.

Pour que vous puissiez être au courant des nouveaux articles, logiciels et autres informations, j'ai créé une chaîne sur Telegram et un groupe pour discuter de toutes questions dans le domaine de la sécurité informatique. De plus, vos demandes personnelles, questions, suggestions et recommandations seront examinées personnellement et je répondrai à tous.

Toutes les informations sont présentées uniquement à des fins éducatives. L'auteur de ce document ne saurait être tenu responsable de tout dommage causé à quiconque résultant de l'utilisation des connaissances et des méthodes acquises par l'étude de ce document.

Solution de l'exercice otp

Nous continuons le deuxième chapitre. Je vous préviens tout de suite que c'est plus difficile que le premier, mais cette fois, nous n'avons pas le code source du programme. N'oubliez pas de participer à la discussion ici(https://t.me/RalfHackerPublicChat) et ici (https://t.me/RalfHackerChannel). Commençons.

Cliquez sur l'icône avec la légende otp. On nous donne une adresse et un port pour la connexion.

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Nous nous connectons et faisons un tour sur le serveur.

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Le drapeau que nous ne pouvons pas lire, le programme et son code source. Regardons le code source.

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Nous l'analysons. Le programme prend le mot de passe comme argument.

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

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

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

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

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

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

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

C'est ici que se trouve la vulnérabilité. Elle réside dans la sauvegarde intermédiaire du nombre généré dans un fichier. Nous pouvons limiter la taille du fichier, par exemple à 0, alors lors de l'écriture et de la lecture avec le mot de passe, 0 sera comparé. On peut faire cela comme suit.

# ulimit -f 0

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Lançons maintenant le programme.

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

Nous obtenons une erreur. Pas de souci, elle peut être manipulée à l'aide de Python.

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

Résolution de la tâche sur pwnable.kr 25 — otp. Limite de taille de fichier sous Linux

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

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster