EBP1 Fake EBP fake ebp 기법은 쉽게 말하면 단어 그대로 ebp에 fake 값을 넣음으로써 eip를 조작하는 기법이다. 보통 ROP를 할 때 (32bit를 기준으로) ret+8 부터 인자 값을 맞춰준다. 이 기법의 경우 ret까지만 덮을 수 있을 때 이용되며, leave; ret 가젯을 이용한다. 쉽게 이야기하기 위해 fake 값이라고 표현했지만, 물론 아무 값이나 넣는 것이 아니기에 맞춰주어야 할 부분들이 있다. leave; ret에 대해 설명하며 어떤 값들을 넣어주어야하는지도 함께 보려고 한다. 우선 leave와 ret은 함수의 에필로그에 해당한다. 에필로그를 확인하기 위해 'Hello World'를 출력하는 간단한 코드를 작성하면, 아래와 같이 함수의 마지막 부분에 leave; ret;이 존재하는 것을 볼 .. 2019. 12. 24. 이전 1 다음