NewbieContest

Challenges => Aide Wargame => Discussion démarrée par: ufox le 18 Mai 2014 à 20:20:22



Titre: Wargame - Après la pile le tas
Posté par: ufox le 18 Mai 2014 à 20:20:22
Postez ici vos messages.


Titre: Re : Wargame - Après la pile le tas
Posté par: sric le 14 Avril 2017 à 21:45:23
Bonjour tout le monde,
j'ai un petit soucis avec ce binaire et ma ligne de commande, j'arrive a avoir un shell au ret avec ltrace ou peda...mais pas suid....en direct, je n'ai pas de shell.vu que j'arrive pas a injecter de \x0 je ne peux pas réécrire l'adresse que je voudrait initialement.
y a t'il un moyen d'injecter un \x0 (j'utilise perl), ou suis je sur une mauvaise voie?

De plus en faisant les tests chez moi,j'arrive à avoir un shell en direct suid en ne changeant rien à la ligne de commande que je recupere dans peda....chu perdu quoi.
y a t'il une bonne ame pour me guider,svp?

sric


Titre: Re : Wargame - Après la pile le tas
Posté par: pixis le 14 Avril 2017 à 23:41:20
Salut, lorsque tu utilises peda/gdb, en fait c'est ptrace qui est utilisé, et ptrace ignore les bits suid/guid (http://www.manpages.info/linux/ptrace.2.html).

Il faut donc proprement faire son exploit lors du debug, et effectuer le même exploit hors debug, en faisant attention à être dans le même environnement. Si quelque chose en "dessous" de la pile est modifié (Environnement, les arguments de main()), alors ce sont toutes les adresses de la piles qui seront décalées.

Bon courage !


Titre: Re : Wargame - Après la pile le tas
Posté par: sric le 15 Avril 2017 à 06:22:11
Merci Pixis, j'ai réussi finalement, j'avais essayé de décompter des variables mais mes comptes n’étaient pas bon. De bon matin je compte mieux.

++

Sric


Titre: Re : Wargame - Après la pile le tas
Posté par: NeOaCk le 28 Septembre 2018 à 18:13:12
Bonsoir,

Existe t'il une bonne documentation pour comprendre l'exploitation du HEAP Overflow ?

Merci

PS: Je galere sur cette épreuve


Titre: Re : Wargame - Après la pile le tas
Posté par: pixis le 28 Septembre 2018 à 18:37:37
C'est une question tellement vague que je suis obligé de répondre "Google". :) Il y a vraiment toute la documentation qu'il faut. Et encore, si tu as compris le principe de Bof et Bof Bof, tu ne devrais pas avoir besoin de documentation. :)


Titre: Re : Wargame - Après la pile le tas
Posté par: moiCmoi le 24 Octobre 2018 à 15:28:32
Salut tout le monde.

Moi aussi je bloque...
Pour le moment je ne vois que 2 adresses sur lesquelles je pourrais ré-écrire pour acceder à la fonction login.
Mais l'une se termine par 00 :x et l'autre je me prend un segfault et je ne comprend pas pourquoi.
Ne peut-on pas changer l'adresse d'une fonction local (fonction presente dans le .c) ?


Titre: Re : Wargame - Après la pile le tas
Posté par: moiCmoi le 26 Octobre 2018 à 22:18:03
J'ai compris mon erreur.
Youpi!
PS: Attention aux boucles infinies! :), cela ne cause pas de probleme coté serveur ?


Titre: Re : Wargame - Après la pile le tas
Posté par: neibb le 08 Juin 2019 à 17:42:53
Bonjour bonjour,
J'ai du mal à m'y retrouver pour celle-là...

Imaginons que je vise:
0xbffffbc0 : 0x080488e4 (Exécution normale)
pour y insérer 0xb7e9f575 tel que 0xbffffbc0 : 0xb7e9f575.

Je vois que j'arrive à me déplacer:
0xbffffbc0 : 0x080488b7 (Segmentation fault)
0xbffffbc0 : 0x0804b7e9  (Segmentation fault)
0xbffffbc0 : 0x08b7e9f5  (Segmentation fault)

Mais lorsque je devrait me retrouver avec mon:
0xbffffbc0 : 0xb7e9f575  (Exploit)

Je me retrouve de nouveau avec mon:
0xbffffbc0 : 0x080488e4
(Exécution normale)
 :?: Kézako :?:  C'est quoi l'histoire? J'aimerai bien comprendre.

Cependant, j'arrive très bien à y inscrire n'importe quoi d'autre comme 0x41414141:
0xbffffbc0 : 0x41414141  (Segmentation fault)

Par contre, quand je veux y inscrire sa propre valeur 0x080488e4 j'obtient un joli:
0xbffffbc0 : 0x080488e4  (Segmentation fault)  alors que valeur initiale.


Visiblement, je ne dois pas très bien m'y prendre ou taper au bon endroit, mais ça n'explique pas ce comportement étrange... Si quelqu'un pouvait m'éclairer?
Ou alors juste me dire que c'est normal et je me débrouille avec ça! ; )

Merci beaucoup!

Edit: Adresses et valeurs choisies au hasard pour l'exemple.