Друзья, всех приветствую! Это третья часть нашего "пывна" :) Сегодня будем изучать работу Stack2.exe (скачать можно ТУТ). Начнем мы, как обычно, со статического анализа. Запускаем GHIDRA: Закидываем "бинарь" в проект и нажимаем на Code Browser: Анализируем... Получаем декомпилированный код. Обращаем внимание на переменную "local_14". Ей присваивается значение переменной окружения "GREENIE". Далее идет проверка. Если переменная "local_14" эквивалентна 0x0 (NULL), то программа выводит сообщение "Пожалуйста установите переменную окружения GREENIE": Смотрим дальше... Переменной "local_18" присваивается "0" (эту переменную и будем перезаписывать). Небезызвестно-небезопасная функция strcpy() копирует значение "local_14" в "local_58" (массив из 64-х байт). З.Ы. Прошу прощения, объявление массива не попало на скриншот. Далее идет проверка. Если переменная "local_14" эквивалентна "0xd0a0d0a", то PWN! (получаем сообщение, что мы молодцы, корректно модифицировали переменную). Если нет, то "Try ag
Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 3 / Stack2)
24 июля 202424 июл 2024
2
2 мин