2

Я изучаю использование переполнения буфера стека, и позже я опубликовал вопрос « Ошибка сегментации Shellcode». о том, что выполнение шеллкода из тестовой программы или при внедрении в уязвимую программу вызывает нарушение сегментации. Теперь я узнал, что это может быть вызвано NX. Когда я ищу это в dmesg, я нашел эту строку:

[    0.000000] NX (Execute Disable) protection: active

Поэтому мой вопрос - как отключить бит NX в Linux. Я использую Kali Linux 64 bit с ядром 4.18.0.

1 ответ1

3

Вы можете отключить NX глобально в Linux, загрузившись с noexec=off в командной строке ядра:

noexec      [X86]
            On X86-32 available only on PAE configured kernels.
            noexec=on: enable non-executable mappings (default)
            noexec=off: disable non-executable mappings

noexec32    [X86-64]
            This affects only 32-bit executables.
            noexec32=on: enable non-executable mappings (default)
                read doesn't imply executable mappings
            noexec32=off: disable non-executable mappings
                read implies executable mappings

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .