- 함수 실행 후 main으로 다시 돌아가게 가젯 구성; GOT overwrite 안해도 쉘 획득 가능임
- basic_rop_x86
-> 이번엔 32비트임, canary X
- 32비트 함수 호출 규약
- rdi, rsi 등 레지스터로 인자를 전달해주던 64비트와 달리 32비트는 스택으로 전달해줌
- x86 바이너리에서 pop 명령어의 피연산자는 중요하지 않다고..
- 인자 2개 필요하면 pop; pop; ret 이런 가젯을 찾아야 한다고..
- 익스플로잇
- puts_plt 구해서 read 함수 실제 주소 구하고 main으로 return
- x86 함수 호출 규약 알아야 함
- 함수 인자 개수만큼 pop 필요
- 지금 보니까 ret 가젯은 필요 없고
- 첫번째 payload로 구한 read 주소를 이용해 libc base와 system 함수 주소 구함
드림핵 워게임 basic_rop_x86
'보안' 카테고리의 다른 글
[자동차해킹] 1. UNDERSTANDING THREAT MODELS (0) | 2024.06.12 |
---|---|
[시스템해킹] PIE (0) | 2024.04.26 |
[시스템해킹] Return Oriented Programming(ROP); GOT Overwrite (0) | 2024.04.24 |
[시스템해킹] Return to Library (0) | 2024.04.23 |
[시스템해킹] Background: Library (0) | 2024.04.23 |