Описание тега stack-smash

Stack smashing is a buffer overflow vulnerability which is characterized by writing data outside the size of a stack-allocated buffer, causing corruption of a neighboring stack frame and potentially permitting execution of malicious code. Use this tag for questions about `stack smashing detected` and similar runtime errors, code with vulnerable buffers and other security risks related to stack smashing. See also: [buffer-overflow] and [buffer-overrun].
1 ответ

Обнаружено разрушение стека. C программирование

Я пытаюсь запустить программу на Си. Вроде хорошо работает, но в конце показывает: ОБНАРУЖЕНО СТЕЙК Это код: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> extern int e…
27 апр '12 в 12:53
0 ответов

Разрушение стека при использовании Poco::JSON::Object в динамической библиотеке

Я пытаюсь построить динамическую библиотеку, в которой я использовал библиотеку Poco::JSON. // header file #ifndef __MATH_H__ #define __MATH_H__ #include <cstdlib> class math { public: static math* getInstance() { if (NULL == m_pMath) { m_pMat…
22 окт '18 в 09:18
0 ответов

Что я могу сделать для того, чтобы это разрушение стека обнаружилось в моей программе?

Я отправил код, пожалуйста, помогите мне. Программа о создании структуры строковых данных для содержания словаря только для алфавита а. [ #include <stdio.h> #include <string.h> #include <stdlib.h> char *string[1000]; /*This program…
03 июл '17 в 13:06
1 ответ

Разбивая стек

Поэтому я работаю над назначением для класса безопасности, и назначение состоит в том, чтобы использовать переполнение стека для вызова функции oopsDidISmashTheStack, которая никогда не использовала ее в программе. #include <stdio.h> #include …
01 окт '13 в 00:57
1 ответ

Почему у меня обнаружен разрыв стека?

#include <stdio.h> #include <stdlib.h> typedef struct { char currency[80]; double exchangerate; } exchangeT; void main() { char from[10]; int i; printf("convert from: "); scanf("%s", &from[10]); //this seems to be where the problem i…
05 июн '14 в 03:44
1 ответ

Разрушение стека / переполнение буфера в C

У меня есть этот код int Iminente(char tab[3][3], char comp, char jog, char str[3][3]){ int i, j, X = 0, val; char col[4], diag[2][4]; strcpy(diag[0], &tab[0][0]); // Diagonal E-D C-B (= \ ) strcat(diag[0], &tab[1][1]); strcat(diag[0], &…
14 фев '18 в 00:08
1 ответ

*** Обнаружено разрушение стека *** Прервано (ядро сброшено)

Я пытаюсь отладить программу, которая выдает ошибку: Abort (core dumped). Valgrind обнаруживает разрушение стека и выдает УТЕЧКУ с 1 блоком, который все еще доступен. Он сообщает строке 12 функции downloadAndOpen, где у меня есть fopen, который, как…
22 дек '14 в 18:49
1 ответ

Причина различий между машинами

Мы пытаемся отследить некоторые ошибки разбивки стека в сгенерированном коде. Проблема в том, что ошибки разрушения стека не являются на 100% детерминированными и происходят только на одном компьютере, а не на других. Какие возможные причины могут б…
26 май '11 в 09:55
1 ответ

Странная ошибка разрушения стека - вызвана неиспользованной неинициализированной переменной-членом

Сегодня у меня была забавная ошибка, из-за которой мой стек был разбит, переопределив канарейку с точкой возврата G++ (я думаю, что использовалась защита). Мой обидный класс был таким: class ClientSendContext : public SendContext { public: ClientSen…
16 фев '11 в 23:22
1 ответ

Обнаружение разрушения стека, отмена, OpenGL freeglut

Итак, у меня есть следующий код для графической проекции перспективы: #include <GL/glut.h> #include <iostream> #include <unistd.h> #include <math.h> #define UpperBD 5 #define PI 3.1415926 #define Num_pts 10 float Xe = 200.0f;…
27 сен '18 в 23:58
1 ответ

Обнаружено разрушение стека при управлении файлами

У меня проблема с моей программой. Переменные написаны на итальянском языке, извините! Я должен справиться с этапом штрафных очков футбольного матча. Если в первых пяти пенальти команды заканчивают ничью, они будут идти на пенальти до конца. if (ret…
04 июн '14 в 10:18
1 ответ

Как опция -fstack-protector в gcc предотвращает разрушение стека?

Я столкнулся с проблемой разбивания стека, и мне трудно найти причину. Ошибка разрушения стека возникает только изредка и только в самом конце выполнения программы. Это также перестает происходить полностью, когда я компилирую его с помощью опции 'f…
20 июн '18 в 18:58
2 ответа

Как заставить Linux выполнять данные в стеке?

У меня процессор Core i7 720QM, и я использую Slackware 13.37 (32-разрядную версию) в качестве виртуальной машины. Как назначение класса, я должен написать уязвимую программу и разбить стек. Однако на большинстве компьютеров это не работает, так как…
0 ответов

Если исполняемый файл python указан через `env`, ptrace разбивает стек

Я пытаюсь перехватить getrandom syscall и изменить его результаты. Я попытался сделать минимальный воспроизводимый пример, вот он: [исходная кодовая база была написана на Rust, имела около 400 строк, надлежащую проверку ошибок и страдала от той же п…
0 ответов

Ошибка разбивки стека при работе с CStrings

Я работаю над небольшим проектом, и я абсолютно застрял. Цель функции, над которой я работаю, состоит в том, чтобы переставить и изменить Cstring на основе нескольких предустановленных правил. Где моя проблема лежит во второй части моего алгоритма о…
03 ноя '17 в 15:38
1 ответ

gcc -fstack-protector не выдает ошибку

Кто-то знает, почему следующие строки кода выдают *** обнаружение разрушения стека *** ошибка #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { char x[16]; strcpy(x,"aaaaaaaaaaaaaaaaaaaaaa…
13 окт '18 в 18:29
1 ответ

Вызов метода COM случайно повреждает стек

У меня есть немного кода, который вызывает метод из COM-объекта (IDirect3D9), но каждый вызов вызывает ошибку проверки времени выполнения #0. Ошибка вызвана тем, что ESP не сохраняется должным образом во время вызова, поэтому возникает проблема стек…
03 янв '12 в 03:11
1 ответ

Переполнение буфера в стеке - вызов в C с использованием scanf с ограниченным вводом

В рамках курса по безопасности CS мой класс получил задание использовать уязвимость, чтобы пройти проверку пароля, используя переполнение стека / буфера. Код с уязвимостью выглядит следующим образом: #include <stdio.h> #include <stdlib.h&gt…
1 ответ

Пример переполнения буфера в Debian 2.6 не работает

Я пытаюсь заставить пример использования буфера (example3.c из http://insecure.org/stf/smashstack.html) работать над версией Debian Lenny 2.6. Я знаю, что версия gcc и версия ОС отличается от версии, используемой Aleph One. Я отключил все механизмы …
23 сен '12 в 06:00
2 ответа

Почему "обнаружение разрушения стека" не появляется сразу после разрушения?

Я понимаю, что подразумевается под "обнаружение разрушения стека". Здесь уже есть много вопросов по этому поводу. Но я не нашел ответа на следующий вопрос. Возьми код С int main(int argc, char **args) { char puffer[5]; strcpy(puffer, *++args); print…
27 мар '14 в 20:06