LEVEL 1
shell_basic
조회수 1795
풀이수 543
2022.01.20. 12:44
- 문제 설명
- 문제 토론
문제 정보
Description
입력한 셸코드를 실행하는 프로그램입니다.
main
함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 함수입니다.
flag 위치와 이름은 /home/shell_basic/flag_name_is_loooooong
입니다.
감 잡기 어려우신 분들은 아래 코드를 가지고 먼저 연습해보세요!
참고
$ 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
$
kileak
대표 업적이 없습니다.
댓글
전체랭킹 2위 · 6일 전
역시 언제 봐도 재밌어 항상
전체랭킹 1952위 · 23일 전
쉽지 않네 이 친구....
전체랭킹 2118위 · 23일 전
사이트 들어가니까 연결이 안되는데 이건 어떻게 해야 할까요...
전체랭킹 1124위 · 26일 전
pwntools를 처음 사용해봐서 진짜 어렵게 풀었네요...
전체랭킹 10위 · 1개월 전
gg
전체랭킹 2390위 · 2개월 전
어렵다~~~
전체랭킹 798위 · 2개월 전
힘드네요..
전체랭킹 389위 · 2개월 전
난생 첨으로 해보는 시스템 해킹 워게임이라 문제 좀 읽어보고 어떻게 하는건지 전혀 감이 오지 않아서 구글에 풀이법 검색해서 감 좀 잡은 후에 스스로 풀어봤습니다. 다른 분들 풀이 보면 간단하게 pwntool만 사용하셔서 푸시던데 이제 입문하신 분이라면 직접 어셈블리 작성하면서 해보시는 것도 꽤나 공부에 도움이 될거라고 생각합니다.
전체랭킹 931위 · 2개월 전
도저히 모르겠어서 인터넷에서 답찾아봤네요 ㅠ 공부 더 하고 담에 다시 도전해봐야겠네요 ㅠ
전체랭킹 2563위 · 2개월 전
입력 방법을 몰라서 한참 헤맸네요 ㅠ