Buffer Overflow - Variáveis
Sobrescrevemos a Stack. Podemos sobrescrever variáveis ou o return address.
- Identifique se é possível fazer BOF
- Verifique se a variável que queremos sobrescrever está entre a variável do input e o
rbpna stack - Se estiver, podemos sobrescrever. Calcule a distância para chegar no início da variável desejada, e sobrescreva com caracteres quaisquer.
- Basicamente, teremos nosso input como
rbp-0x10, por exemplo, e a outra variável emrbp-0x5. Isso quer dizer que a distância entre eles é0x10 - 0x5 = 0xb = 11. Ou seja, para chegarmos no início derbp-0x5, precisamos sobrescrever a stack com 11 bytes quaisquer. - Geralmente, usamos caracteres, pois cada caractere = 1 byte e fica fácil de contabilizar.
- Basicamente, teremos nosso input como
- Ao final da string, coloque o que você deseja que seja sobrescrito na variável.