Отставание ОС после вывода строки в файловых дескрипторах 0,1,2 (stdin, stdout, stderr)

Я пытался использовать утечку пропускной способности для программы на C (см. Ниже), воспользовавшись отсутствием функции fclose() для файла, который программа открыла ранее.

Короче говоря, эксплуатация включала следующую команду

sudo echo some_random_string >&3

Дело в том, что я запускаю ту же команду, используя также >&2, >&1 и >&0 (stdin, stdout, stderr).

Мой компьютер отстает с тех пор (например, щелчок мышью не работает в браузере время от времени)

Есть идеи о том, что происходит?

Программа на C является следующим:

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>

void main() {
    int fd;
    char *v[2];

    fd = open("/etc/zzz", O_RDWR | O_APPEND);

    if ( fd == -1 ) {
        printf("Cannot open /etc/zzz\n");
        exit(0);
    }

    printf("fd is %d\n", fd);

    setuid(getuid());

    v[0] = "\\bin\\sh"; 
    v[1] = 0;
    execve(v[0], v, 0);

}
2
задан 16 August 2019 в 10:52

0 ответов

Другие вопросы по тегам:

Похожие вопросы: