학습
워게임
CTF
커뮤니티
랭킹
스토어
커리어
Beta
로그인
|
기업 서비스
Home
학습
워게임
CTF
커뮤니티
랭킹
커리어
Beta
기업 서비스로 이동하기 >
LEVEL 1
Format String Bug
pwnable
1812
743
로그인 하고 문제 풀기
문제 정보
풀이
52
난이도 투표
61
질문
7
최근 풀이자
743
댓글
14
문제 설명
Description
Exploit Tech: Format String Bug에서 실습하는 문제입니다.
23.11 update
binary updated
Dockerfile is added to the attatchment
Translate
출제자 정보
Dreamhack
대표 업적 없음
2021.12.08. 17:25:16
First Blood!
Sechack
2024 Invitational Contenders
출제된 지
3시간
만에 풀이 완료!
난이도 투표
61
문제 풀이를 완료한 후에 피드백을 제출할 수 있습니다.
투표 결과
전체 투표 로그
1 / 13
rnehgud_
조커
LEVEL 1에 투표했습니다.
10시간 전
serpent
대표 업적 없음
LEVEL 1에 투표했습니다.
3일 전
Ma_Mu0228
대표 업적 없음
LEVEL 2에 투표했습니다.
27일 전
Haruto
대표 업적 없음
LEVEL 2에 투표했습니다.
28일 전
우도우도
대표 업적 없음
LEVEL 2에 투표했습니다.
29일 전
질문
6
문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
Local 환경과 Remote환경의 차이점
Local 환경에서 binary를 분석하던 중 차이점이 생겨서 의문이 생겨 질문을 드립니다! 드림핵 설명에서는 rsp+0x48에 main의 시작 부분에 대한 주소가 담겨있다고 설명이 되어 있습니다. 그러나 local환경에서는 밑의 코드처럼 rsp+0x58에 main의 주소가 담겨있는 것을 확인하였고 이를 통해 exploit을 해야지만 적용이 되는 것을 확인했습니다. 0x7fffffffdf30: 0x0000006161616161 0x0000000000000000 0x7fffffffdf40: 0x0000000000000000 0x00007ffff7fe5af0 0x7fffffffdf50: 0x00007fffffffe040 0x42a98376715f8900 0x7fffffffdf60: 0x00007fffffffe000 0x00007ffff7dcc1ca 0x7fffffffdf70: 0x00007fffffffdfb0 0x00007fffffffe088 0x7fffffffdf80: 0x0000000155554040 0x0000555555555293 차이점이 존재하는 이유가 궁금합니다!
PaPya
답변
1
추천
0
4개월 전
changeme를 덮는 과정에서의 인자 관련 질문
[2] Overwrite changeme payload = b'%1337c' # 1337을 min width로 하는 문자를 출력해 1337만큼 문자열이 사용되게 합니다. payload += b'%8$n' # 현재까지 사용된 문자열의 길이를 8번째 인자(p64(changeme)) 주소에 작성합니다. payload += b'A'*6 # 8의 배수를 위한 패딩입니다. payload = payload + p64(changeme) # 페이로드 16바이트 뒤에 changeme 변수의 주소를 작성합니다. p.sendline(payload) Overwrite에 관련된 코드 설명입니다. %1337c%8$nAAAAAA(changeme) 라느 부분에서 %8$n이 이해가 안돼서 질문 남깁니다! 1337이라는 문자의 개수를 changeme 주소에 해당하는 곳에 값을 넣는 것으로 인지했고 A는 패딩을 통해 0x10을 맞추는 것으로 인지했습니다. 근데 왜 changeme의 주소가 8번째 인자에 해당되는지가 이해가 안됩니다ㅠㅠ 도와주세요
PaPya
답변
1
추천
0
4개월 전
Docker build 시 ERROR: failed to solve: failed to compute cache key: failed to calculate checksum 오류
다음 docker file의 line 11, 12, 15, 16, 19, 20에서 같은 오류가 발생합니다. FROM ubuntu:22.04@sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac ENV user fsb_overwrite ENV chall_port 7182 RUN apt-get update RUN apt-get -y install socat RUN adduser $user ADD ./private/flag /home/$user/flag ADD ./public/$user /home/$user/$user RUN chown -R root:root /home/$user RUN chown root:$user /home/$user/flag RUN chown root:$user /home/$user/$user RUN chmod 755 /home/$user RUN chmod 755 /home/$user/$user RUN chmod 440 /home/$user/flag WORKDIR /home/$user USER $user EXPOSE $chall_port CMD socat -T 10 TCP-LISTEN:$chall_port,reuseaddr,fork EXEC:/home/$user/$user 제가 입력한 커맨드와 오류메시지는 다음과 같습니다. 현재 디렉터리 > fsb > Dockerfile 인 상태 $> docker build ./fsb -t fsb [+] Building 1.9s (10/17) docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 648B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/ubuntu:22.04@sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac 1.8s => [ 1/13] FROM docker.io/library/ubuntu:22.04@sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac 0.0s => [internal] load build context 0.0s => => transferring context: 2B 0.0s => CACHED [ 2/13] RUN apt-get update 0.0s => CACHED [ 3/13] RUN apt-get -y install socat 0.0s => CACHED [ 4/13] RUN adduser fsb_overwrite 0.0s => ERROR [ 5/13] ADD ./private/flag /home/fsb_overwrite/flag 0.0s => ERROR [ 6/13] ADD ./public/fsb_overwrite /home/fsb_overwrite/fsb_overwrite 0.0s [ 5/13] ADD ./private/flag /home/fsb_overwrite/flag: [ 6/13] ADD ./public/fsb_overwrite /home/fsb_overwrite/fsb_overwrite: Dockerfile:11 9 | RUN adduser $user 10 | 11 | >>> ADD ./private/flag /home/$user/flag 12 | ADD ./public/$user /home/$user/$user 13 | ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref ebe7b14f-c423-4bb4-8eab-0b0fcd3166d0::ebm145yqsrr74xwiu2grw5dtg: failed to walk /var/snap/docker/common/var-lib-docker/tmp/buildkit-mount3959528649/private: lstat /var/snap/docker/common/var-lib-docker/tmp/buildkit-mount3959528649/private: no such file or directory `
cityofwonder
답변
1
추천
0
5개월 전
[rsp+0x48] 에 있는 값
[RSP+0x48] 위치에 0x555555555293 에 해당하는 값이 존재하고 이를 통해서 PIE base를 구하는데, 이때 [RSP+0x48]에 있는 값의 의미는 무엇이며 왜 해당 위치에 PIE 와 관련된 값이 있는 것인가요
han76
답변
1
추천
0
11개월 전
도와주세요 고수님들
[rsp+0x48]이 갑자기 왜 나왔는지 거기에 있던 0x555555555293이라는 값이 왜 식별된 것인지 0x555555555293 에서 오프셋을 빼서 베이스 주소를 구해야하는데 저 주소가 가리키는 함수가 뭔 줄 알고 오프셋을 구하는지.... 이해가 잘 안가네유...ㅠㅠ
Choish
답변
1
추천
0
2개월 전
패딩 순서 차이
fsb = b'%1337c' + b'%8$nAAAAAA' + p64(changeme) 위 경우는 되는데 fsb = b'%1337cAA' + b'%8$nAAAA' + p64(changeme) 밑에 경우는 안되는 이유를 알 수 있을까요? 위의 경우는 마지막에 패딩을 몰아서 전체적으로 16바이트 + 주소이고 밑의 경우는 각각 8바이트로 패딩을 주어서 8+8+주소라 문제없을 것이라 생각하고 밑의 방식으로 시도했는데 shell 대신 buf가 출력됩니다.
abdafw
답변
1
추천
0
2개월 전
«
‹
1
›
»
최근 풀이자
743
하늘꿈
대표 업적 없음
1시간 전
rnehgud_
조커
10시간 전
jt0
대표 업적 없음
3일 전
serpent
대표 업적 없음
3일 전
마시마로
CTF 초보자
3일 전
hansanggi
.HACK 2024 참가자
4일 전
r1p3m0
대표 업적 없음
8일 전
Graf
대표 업적 없음
8일 전
극노한신사
대표 업적 없음
10일 전
ycphg
대표 업적 없음
10일 전
«
‹
1
2
3
4
5
›
»
댓글
14
스카이넷
워게임 고인물
1년 전
ez
Translate
LM_R3dzone
워게임 고인물
1년 전
환경 수정되었습니다~ ^__^
Translate
나는재영
대표 업적 없음
2년 전
띠오리오리오리
Translate
ssongk
2024 Invitational Contenders
2년 전
libc 버전 찾는 것도 문제의 일부라면 레벨 1은 아닌 듯..
Translate
msh1307
대표 업적 없음
3년 전
;)
Translate
Polang
워게임: 1
3년 전
좋아요~
Translate
movptr
공부벌레
3년 전
:)
Translate
ReverserInThirties
대표 업적 없음
3년 전
Getting base of program was hard....
Translate
DevDori
세계수
3년 전
:)
Translate
바나나김치
워게임 고인물
3년 전
.
Translate
«
‹
1
2
›
»
댓글 14