이번엔 Buffer OverFlow PIE 문제를 풀어보겠다. PIE가 걸려 있을 것 같지만, 우선 checksec부터 해보자. NX bit와 PIE가 걸려 있는 것을 확인할 수 있다. NX bit는 쉘 코드 실행을 막는 보호 기법이다. 이 문제에서 절대적으로 중요한 보호기법은 PIE 기법이다. PIE 기법이란, 함수를 실행할 때마다 호출할 주소가 고정되어 있는 것이 아닌, 상대 주소를 호출하여 한 번의 단계를 더 거쳐서 다른 함수를 호출하는 것이다. 예를 들어, main함수를 디스어셈블할 때 일반적으로 0x8000xxxx와 같은 주소가 아니라 0x100 같은 아주 작은 주소로 바뀌게 된다. 이 보호 기법을 우회하기 위해서 memory 주소를 leak 하거나 ROP 기법을 활용할 수 있다. 우선 바이너리..