Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
failles_app:format_string [2012/07/28 00:45] Pheimors |
failles_app:format_string [2017/04/09 15:33] (Version actuelle) |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
Je vais donc tenter d’expliquer le principe des Format String de la façon dont j’aurais aimé qu’on le fasse au moment ou j’ai moi-même appris. | Je vais donc tenter d’expliquer le principe des Format String de la façon dont j’aurais aimé qu’on le fasse au moment ou j’ai moi-même appris. | ||
- | \\ | + | ======= SOMMAIRE ======= |
- | + | ||
- | SOMMAIRE | + | |
- | ---- | + | |
- | + | ||
- | \\ | + | |
* 1 Rappels sur les fonctions de la famille printf() | * 1 Rappels sur les fonctions de la famille printf() | ||
Ligne 37: | Ligne 32: | ||
* 4.2 Pratique | * 4.2 Pratique | ||
* 5 Ressources | * 5 Ressources | ||
+ | |||
+ | \\ | ||
======= 1 Rappels sur les fonctions de la famille printf() ======= | ======= 1 Rappels sur les fonctions de la famille printf() ======= | ||
Ligne 147: | Ligne 144: | ||
<file X Terminal> | <file X Terminal> | ||
- | [root@VmZenk:~/tests]$ ./vuln %x%x%x%x | + | [root@VmZenk:~/tests]$ ./vuln "%08x %08x %08x %08x" |
- | bffffea23fff078257825 | + | bffffea2 000003ff 000000f0 78257825 |
</file> | </file> | ||
- | Le formateur %x est donc un formateur "direct" pour la raison suivante : il affiche tout simplement la valeur qu'il trouve sur la pile. Voyons ça avec une petite représentation de la pile. Ne vous inquiétez pas, les valeurs de la pile correspondent à l’affichage sauf que dans le terminal les 0 sont tronqués. | + | Le formateur %x est donc un formateur "direct" pour la raison suivante : il affiche tout simplement la valeur qu'il trouve sur la pile. %08x demande au formateur %x d'afficher la donnée sous la forme d'un nombre décimal de 8 caractère maximum précédé de 0. |
+ | Voyons ça avec une petite représentation de la pile. | ||
PILE | PILE |