Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
{
// буфер
char buffer[256];
// функция в результате вызывающая переполнение буфера
lstrcpyA(buffer,stroka);
}
void main (int argc, char *argv[])
{
// вызов уязвимой функции
vuln_func(argv[1]);
printf("Parameter is : %s",argv[1]);
}
Откомпилируем её и выясним, что эта программа делает. Если её запустить без параметров, то она выведет следующее:
Parameter is : 0(null)
Запустим её следующим образом:
c:x-filesug.exe aaaaaaa
Тогда данная программа выведет:
Parameter is : aaaaaaa
При «aaaaa....aaaa» в количестве больше чем 256 будет происходить переполнение буфера.
Теперь, когда у нас есть уязвимая программа, мы можем реализовать эксплоит для неё, который будет действовать по описанному выше принципу.
Рассмотрим листинг эксплоита:
// example exploit by sl0n
#include <stdio.h>
#include <windows.h>
void main()
{
char garbage[1000];