绕过堆栈金丝雀而不覆盖

时间:2018-10-07 13:02:51

标签: buffer-overflow

我有一个C ++文件,其结构如下所示:

struct {
    int32_t goodcanary;
    char username[25];
    char password[25];
    int32_t canary;
    char good_username[25];
    char good_password[25];
} v;

好的金丝雀是随机的,然后金丝雀设置为等于好的金丝雀。

然后我可以输入并隐藏用户名。

如果canary == goodcanary,用户名== good_username和password == good_password,则登录成功。我知道我可以输入一个很长的字符串以使其适用于用户名和密码,但是如何在不覆盖Canary的情况下做到这一点(以便Canary仍然等于goodcanary)。

有没有办法跳过某个点?

0 个答案:

没有答案