Почему я получаю сброс ядра разлома сегмента при запуске системы («bin/sh»)?Linux

Anonymous
Почему я получаю сброс ядра разлома сегмента при запуске системы («bin/sh»)?

Сообщение Anonymous »

Я делаю лабораторию по уязвимостям в виртуальной среде Linux.
I собрал следующий код для уязвимости переполнения буфера на основе стека (CWE-121) с опцией -fno-stack-protector -no-pie и отключил ASLR. Я проверил значение адреса функции, которую хочу выполнить, поместить его в полезную нагрузку и успешно ввел функцию, но когда я попытался выполнить оболочку, я получил сообщение об ошибке, в котором ядро ​​отказано сброшено. В чем причина этого? < /P>

Код: Выделить всё

#include 
#include 
#include 
#include 

void secret_shell() {
printf("You should not see this normally! Spawning shell...\n");
fflush(stdout);
system("/bin/sh");
}
void vulnerable() {
char buffer[64];
printf("Enter data: ");
fflush(stdout);
gets(buffer);
printf("You entered: %s\n", buffer);
}
< /code>
Затем, когда я запустил скомпилированную программу, я ввел следующую команду < /p>
./program < payload.txt
Когда я спросил GPT, он сказал, что оболочка работала, но немедленно прервано, потому что входной поток был закрыт, но я не уверен, что это точно.

Подробнее здесь: https://stackoverflow.com/questions/796 ... stembin-sh

Вернуться в «Linux»