constWORLDant

ASLR 적용 된 바이너리 ASLR 해제하기 2~ 본문

0x04 pwnable

ASLR 적용 된 바이너리 ASLR 해제하기 2~

data type ConS_tanT 2017.12.06 23:56

이번문제는 1편에서 이어지게 됩니다. 


궁금증이 하나 생기지 않나요? 

음.. 저는 이런 궁금증이 생깁니다. 

1. ASLR이 랜덤한 주소가 되게 하는 기법인데 그 주소를 고정 시켰어. 왜 고정 시킨건데? 

2. 고정 안시키면 왜 안되? 내가 그냥 스택보면서 놀면 되는거 아냐? 


이것에 대한 궁금증을 풀기 위해 ASLR이 적용 된 그 바이너리로 놀아보도록 하겠습니다.


다시 소스코드를 한번 살펴보죠.

일단 포너블을 위한 소스코드니까요 ㅎ.ㅎ 


#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <Windows.h>


int main(int argc, char*argv[])

{

char arr[10];

int i = 0;


printf("ASLR Test\n");

printf("목표 ASLR을 우회하라!\n");

printf("문자열 입력 >> ");

scanf("%s",arr);


if (i == 0x12345678)

{

printf("Great!\n");

}

else

{

system("calc");

}

return 0;

}


0 Comments
댓글쓰기 폼