LEVEL 1

oneshot

pwnable
  • 문제 정보
  • 풀이 105
  • 난이도 투표 42
  • 질문 13
  • 최근 풀이자 1168
  • 댓글 56

문제 설명

Description

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

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

one-shot gadget

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

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

난이도 투표 42

질문 13

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
제공된 libc.so.6에 debug simbol이 없어 gdb에서 print stdout을 사용할 수 없습니다
페이로드는 payload = "A"24 + p64(0)2 + p64(oneshot_gadget) 이렇게 작성했고 gdb로 attach 해서 리턴 주소에 값이 정확히 들어가는 것을 확인했는데 쉘이 실행되지 않았습니다 oneshot_gadget을 구하기 위해서 아래와 같이 식을 작성하였는데 libc_base = stdout - 0x3c5708 oneshot_gadget = libc_base + 0x45216 제가 생각하는 문제가 되는 부분은 libc_base를 구하는 부분입니다 처음에는 oneshot 파일을 그대로 gdb로 열고 print stdout을 해서 나온 주소에서, vmmap을 해서 나온 /usr/lib/x86_64-linux-gnu/libc-2.31.so의 base 주소(시작 주소)를 뺀 값인 0x1bf6a0를 stdout 값에서 빼줬으나 동작하지 않아 patchelf --replace-needed 명령어로 문제파일에서 주어진 so.6 파일로 변경 후 다시 gdb로 열었습니다 이렇게 하니까 vmmap 으로 봤을 때 변경된 so.6 파일이 열리는것을 확인했는데 문제는 제공된 libc.so.6 파일에 debug simbol이 없어 print stdout이 먹히지 않는다는 것이었습니다 https://typemiss.tistory.com/2 이 사이트를 참고해서 libc6-dbg 패키지를 다운받아 gdb 에서 set도 해보았고 readelf -s ./libc6.so.6 | grep stdout에서 나온 stdout의 오프셋 값도 사용해보았으나 여전히 해결되지 않았습니다 원리는 다 이해한거 같은데 몇 시간째 문제가 해결되지 않아 답답하네요.. 조언 부탁드립니다 (해결) 주어진 libc에서 필요한 데이터를 다 추출해서 풀었습니다 libc 바꿀 필요도 없고 로컬에서 되는거 확인해보지 않아도 되네요
avatar T@ke_it_EZ

최근 풀이자 1168

한영
대표 업적 없음
인썰
대표 업적 없음
swoo0105
대표 업적 없음
똥오줌폭탄
대표 업적 없음
avatar
cyalume
강의 수강: 10
Madb33
강의 수강: 10
연어맛있다
대표 업적 없음
gomddak
대표 업적 없음
daeseong1209
대표 업적 없음

댓글 56

위유
강의 수강: 50
stdout을 너무 단순하게 생각했다.
avatar
스카이넷
강의 수강: 10
ez
catpwn
대표 업적 없음
oneshot 지렸다
avatar
KnightChaser
공부벌레
One Gadget = Artistic
avatar
Rosieblue
워게임 고인물
원가젯 사랑해!
avatar
연어초밥
공부벌레
onegadget 짱짱맨
avatar
skandia
대표 업적 없음
oneshot
avatar
LinuxBudu
대표 업적 없음
원샷은 사용만 가능한 조건이라면 아주 사기군요..!
avatar
msh1307
대표 업적 없음
쉽다
avatar
movptr
공부벌레
ez