Почему я получаю сброс ядра разлома сегмента при запуске системы («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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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