LEVEL 2

rtld

pwnable
  • 문제 정보
  • 풀이 61
  • 난이도 투표 24
  • 질문 6
  • 최근 풀이자 438
  • 댓글 48

문제 설명

Desciption

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

Environment
Ubuntu 16.04
Arch:     amd64-64-little
RELRO:    Partial RELRO
Stack:    Canary found
NX:       NX enabled
PIE:      PIE enabled
Reference

rtld_global_overwrite

Challenge Updates

2023.05.08: Dockerfile이 제공됩니다.

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

KuroNeko
워게임 고인물
출제된 지 1일 만에 풀이 완료!

난이도 투표 24

질문 6

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기

최근 풀이자 438

unkn0vvn
대표 업적 없음
avatar
z3rodae0
대표 업적 없음
account
대표 업적 없음
avatar
urdekcah
워게임 고인물
수지
대표 업적 없음
avatar
Ajirika
대표 업적 없음
avatar
TheFlash2k
대표 업적 없음
avatar
qwertek
워게임 고인물
abcde
강의 수강: 1
mii
대표 업적 없음

댓글 48

avatar
qkrthfals
공부벌레
오프셋 찾느라 호출되는거 하나하나 뜯어봤습니다 ㅠㅠ
avatar
나는재영
대표 업적 없음
또잉??
avatar
KnightChaser
공부벌레
use patchelf with built Ubuntu 16 environment... but why getshell()?
avatar
Rosieblue
워게임 고인물
도커로 풀면 오프셋 오류안남
avatar
Nigma
대표 업적 없음
dl_rtld_lock_lock_recursive = rtld_global + 3848 # p &_rtld_global._dl_rtld_lock_recursive
whoamiii
대표 업적 없음
ld 버젼문제로 _dl_rtld_lock_recursive를 찾지못해 삽질... docker로 환경설정해서 이해하며 풀었네요. rtld를 익히는것도 좋았지만 docker를 공부하게된 좋은 계기가...ㅎ
후라이드치킨맨
대표 업적 없음
one gadget과 patchelf를 이용해서 풀었어요
avatar
ssongk
공부벌레
get_shell은 머리 속에서 지워주세요
avatar
msh1307
대표 업적 없음
: )
avatar
Kon
워게임: 1
으아 stdout 하위 12bit 안보고 익스 작성하다가 삽질 했다... 주의ㅣㅣ