разработчикам-как избежать уязвимости в приложениях
Не так давно прочитал (статья Криса Касперского) интересный способ защиты своих приложений от переполенния в стеке и соответственно выполнения произвольного кода. Суть заключается в объявлении двух контрольных переменных расположенных в стеке перед переполняемым буфером. При выходе из выполняющейся функции просто проверяем ее значение. В случае переполнения переменная соответственно оказывается затерта и уже не соответствует прежнему значению. Ниже приведу тестовый код. В параметрах ехе файла передается некоторая величина. Если она больше 4 символов, происходит переполнение:
Код:
#include <windows.h> |
Хм..Интересный способ, но ,имхо, не рациональный!
|
Часовой пояс GMT +3, время: 07:43. |
Powered by vBulletin
Copyright ©2000-2024, Jelsoft Enterprises Ltd.