스택 프레임 분석
Return address (0x8)
SFP (0x8)
buf [rbp-0x40] (0x40)
공격 계획
최종 목표: system("/bin/sh") 수행할 것.
* system() 주소 구하기
= lib_base + system_offset
** lib_base 구하기
= read() 주소 - read_offset
*** read() 주소 구하기
ROP를 통해, write(1, read@got, ...)
* "/bin/sh" 주소 구하기
= lib_base + binsh_offset
** system_offset, read_offset, binsh_offset 구하기
libc를 이용
* Return address를 system("/bin/sh")로 Overwrite
ROP를 이용
exploit 코드와 전체 타임라인
고찰
GOT Overwrite가 아니라, system 함수 주소를 찾아 직접 실행하고 있다.
대신 main으로 다시 돌아와 한번 더 payload를 보냈다.
※ 내생각: 사실 line 59는 불필요하지 않은가? 그리고 따지자면 0x40이 아니라 0x48이어야 정확하지 않은가 싶음.
'IT > Wargame' 카테고리의 다른 글
[Web Hacking] xss-2 (0) | 2024.07.03 |
---|---|
[System Hacking] fho ㅡ Hook overwrite (1) | 2024.05.17 |
[System Hacking] ssp_001 (0) | 2024.03.07 |
[System Hacking] basic_exploitation_001 (0) | 2024.03.03 |
[System Hacking] basic_exploitation_000 (0) | 2024.03.02 |