Beginner

shell_basic

pwnable
  • 문제 정보
  • 풀이 204
  • 난이도 투표 31
  • 질문 66
  • 최근 풀이자 4535
  • 댓글 96

문제 설명

Description

입력한 셸코드를 실행하는 프로그램이 서비스로 등록되어 작동하고 있습니다.

main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 함수입니다.

flag 파일의 위치와 이름은 /home/shell_basic/flag_name_is_loooooong입니다.
감 잡기 어려우신 분들은 아래 코드를 가지고 먼저 연습해보세요!

플래그 형식은 DH{...} 입니다. DH{}도 모두 포함하여 인증해야 합니다.

참고

$ cat write.asm
section .text
global _start
_start:
    ;/* write(fd=1, buf='hello', n=48) */
    ;/* push 'hello\x00' */
    mov rax, 0x0a6f6c6c6568
    push rax
    mov rsi, rsp
    push 1
    pop rdi
    push 0x6
    pop rdx
    ;/* call write() */
    push 1
    pop rax
    syscall
$ nasm -f elf64 write.asm
$ objcopy --dump-section .text=write.bin write.o
$ xxd write.bin
00000000: 48b8 6865 6c6c 6f0a 0000 5048 89e6 6a01  H.hello...PH..j.
00000010: 5f6a 065a 6a01 580f 05                   _j.Zj.X..
$ cat write.bin | ./shell_basic
shellcode: hello
[1]    1592460 done                cat write.bin |
       1592461 segmentation fault  ./shell_basic
$

난이도 투표 31

질문 60

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

shell_basic

pwnable

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

kileak
대표 업적 없음
출제된 지 10분 만에 풀이 완료!

최근 풀이자 4535

simplesso
대표 업적 없음
woongji
대표 업적 없음
yommiiiii
대표 업적 없음
keshk
강의 수강: 10
jsy08
대표 업적 없음
csta_lab
사이보그
seonI-I
대표 업적 없음
kvivnvvv
대표 업적 없음

댓글 96

avatar
Secbin08
시니어
shellcraft로 쉽게 풀었는데 ㅜㅜ 나중에 직접 어셈도 짜봐야겠다.
pentestMage
대표 업적 없음
NASM, binutils, xxd, pwntools shellcode : 에 cat으로 flag 파일의 위치와 이름을 읽혀야 되는줄 알고 삽질 엄청했다...ㅋ 내가 봤을 땐 이게 역대급으로 어려웠는데 푼 사람이 되게 많네
pjmzxc123
시스템 해킹 초심자
하하하 맥에서는 pip 버그가 참 많아요
RUMIO
대표 업적 없음
초심자는 꼭 강의 보고 오시는 것을 추천드립니다! 코드 참고하시면 편합니다
hyon3034
대표 업적 없음
shellcraft를 처음 써봤어요 !!
AKO
플래툰
뭐.. 그냥 저냥 ORW shellcode 가 무엇인지 사용해봐라 이런 느낌
dan_hack
대표 업적 없음
문제랑 코드만 보고서는 문제를 전혀 이해할 수가 없습니다... 강의에서 나온 내용은 예시로 나온 코드를 이해하는데 도움은 주지만 이 문제의 핵심을 알아내기에는 단순히 강의만 보고서는 역부족인 것 같습니다ㅠㅠ 조금 더 문제에 대해 설명이 추가되면 좋겠습니다
뚜비123
대표 업적 없음
쉘 코드도 직접 만들어보고 shellcraft 툴도 써봤네요 공부 많이 됐습니다
Choish
대표 업적 없음
뭐가 틀렸는지나 알면 다행인데 뭐가 틀렸는지도 모르고 답이 안나오니 너무 답답하네요
avatar
daeseong
올라운더
매우 어려운!