Je n'ai pas dit que toutes les attaques étaient à jour, mais disons qu'on apprend les principes ce qui est toujours interessant.
Comment c'est implémenter ça en c++, retourner les 4 prochains bytes sur le stack?
Et soi dit en passant le comportant est soi disant indéfini dans le cas où les arguments sont pas fournis, ce que je comprends pas c'est comment on arrive à ce comportement d'afficher les bytes sur la pile
.
D'ailleurs ce que je viens de lire c'est ça :
If the syntax of a conversion specification is invalid, behavior remains undefined, and in fact can cause program termination. If there are too few function arguments provided to supply values for all the conversion specifications in the template string, or if the arguments are not of the correct types, the results are also undefined. Excess arguments are ignored. In a number of cases, the undefined behavior has led to "Format string attack" security vulnerabilities.
C'est là :
http://en.wikipedia.org/wiki/Printf
Et ma question portait sur pouquoi avoir implémenter ça comme ça et comment c'est implémenter
.
De plus à la fin de mon post je comprends pas, %d est censé affiché l'entier que je lui fournis et là il m'affiche pas du tout ce que je lui fourni... il m'affiche seulement le premier byte et non pas les 4 que j'ai mis ...
Partager