https://hackstoryadmin.tistory.com/entry/FPO-Frame-Pointer-Overflow
1. 서브함수가 존재하고 실행되어야함
2. sfp를 1바이트라도 덮을수있어야함
서브함수에서 sfp를 변조시키고 leave과정에서 pop ebp를 하게되는데 ebp가 esp값으로 이동하므로 변조된 sfp위치로 ebp가 이동됨 ret를 통해 서브함수를 실행한 함수에서 정상적으로 동작을 한 후 다시 leave를 하게되는데 여기서 mov esp, ebp를 통해 서브 함수에서 변조되었던 ebp값으로 esp가 이동 pop ebp를 하면서 변조된 esp는 ebp+4값이 되기에 주소계산에서 원하는 값 -4를 해주는것 이후 ret의 pop eip jmp eip를 통해 esp위치의 값으로 이동하여 실행되는것
'꿀팁!' 카테고리의 다른 글
Could not find a version that satisfies the requirement in pip install error (0) | 2021.12.01 |
---|---|
docker cp로 elf 파일 옮긴 후 실행 안 될때 (0) | 2021.12.01 |
discord.ext.command 공부 (0) | 2021.06.30 |
윈도우 하위 시스템으로 ubuntu 두기 (0) | 2021.05.26 |
확장 유클리드 알고리즘으로 모듈러 연산 역산하기 (0) | 2021.05.17 |