일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- toddler
- shellcode
- pico
- format
- Toddler's Bottle
- reversing
- Read
- pwn
- 2018
- anti
- CTF
- Rookiss
- ASM
- picoCTF
- writeup
- Leak
- shellcraft
- Reverse
- rev
- FSB
- string
- pwnable.kr
- CANARY
- practicalmalwareanalysis
- PMA
- Bottle
- Bug
- pwnable
- BOF
- TUCTF
- Today
- Total
목록Wargame (24)
제리의 블로그
passcode - 10 pt요약문제의 지문에서 컴파일의 경고를 무시했다는 정보를 토대로 소스코드를 직접 컴파일을 통해 어떠한 경고가 떴는지 확인한 결과 그 경고는 함수에 전달되는 인자의 자료형에 대한 것이었습니다. 프로그램을 직접 실행해서 passcode1 에 10진수를 넣었을 때 Segmentation fault 발생하는 이유를 알아보면 이를 통해 임의의 주소에 4 bytes 만큼 덮어쓸 수 있다는 것을 알게됩니다. welcome 함수에서 사용했던 스택의 데이터가 login 함수에서도 쓰레기값으로 데이터가 그대로 남기 때문에 지역변수 passcode1 를 공격자가 특정 값(주소)을 넣을 수 있습니다. checksec 로 바이너리의 보호기법을 검사해보니 GOT에 write 권한이 있었고 공격 시나리오를..
flag - 7 pt Papa brought me a packed present! let's open it. Download : http://pwnable.kr/bin/flag This is reversing task. all you need is binary이번 문제는 리버싱 분야입니다. 디버깅해보니 섹션정보도 일반 바이너리와 달랐고SYS_mmap 로 새로운 메모리 할당하는 것을 보고 패킹을 의심했었고 # strings ./flag...UPX! UPX!문자열 검사를 해보니UPX 패킹이 되어있었습니다. 언패킹을 해주면 mov edi, offset aIWillMallocAnd ; "I will malloc() and strcpy the flag there. take it." call puts mov edi..
bof - 5 pt Nana told me that buffer overflow is one of the most common software vulnerability. Is that true? Download : http://pwnable.kr/bin/bof Download : http://pwnable.kr/bin/bof.c Running at : nc pwnable.kr 9000 #include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf..
collision - 3 pt Daddy told me about cool MD5 hash collision today. I wanna do something like that too! ssh col@pwnable.kr -p2222 (pw:guest) col@ubuntu:~$ ls -l total 16 -r-sr-x--- 1 col_pwn col 7341 Jun 11 2014 col -rw-r--r-- 1 root root 555 Jun 12 2014 col.c -r--r----- 1 col_pwn col_pwn 52 Jun 11 2014 flag col.c 파일을 확인해볼까요 #include #include unsigned long hashcode = 0x21DD09EC; unsigned long ch..
fd - 1 pt Mommy! what is a file descriptor in Linux? * try to play the wargame your self but if you are ABSOLUTE beginner, follow this tutorial link: https://youtu.be/971eZhMHQQw ssh fd@pwnable.kr -p2222 (pw:guest)파일 디스크립터 문제입니다.stdin 은 0, stdout 은 1, stderr 는 2 입니다. 표준 입출력이죠. fd@ubuntu:~$ ls -l total 16 -r-sr-x--- 1 fd_pwn fd 7322 Jun 11 2014 fd -rw-r--r-- 1 root root 418 Jun 11 2014 fd.c -r--r..
보호되어 있는 글입니다.
horcruxes - 7 pt Voldemort concealed his splitted soul inside 7 horcruxes. Find all horcruxes, and ROP it! author: jiwon choi ssh horcruxes@pwnable.kr -p2222 (pw:guest) horcruxes@ubuntu:~$ ls -l total 20 -rwxr-xr-x 1 root root 12424 Aug 8 07:16 horcruxes -rw-r--r-- 1 root root 131 Aug 8 07:16 readme horcruxes@ubuntu:~$ cat readme connect to port 9032 (nc 0 9032). the 'horcruxes' binary will be e..
blukat - 3 pt Sometimes, pwnable is strange... hint: if this challenge is hard, you are a skilled player. ssh blukat@pwnable.kr -p2222 (pw: guest) blukat@ubuntu:~$ ls -l total 20 -r-xr-sr-x 1 root blukat_pwn 9144 Aug 8 06:44 blukat -rw-r--r-- 1 root root 645 Aug 8 06:43 blukat.c -rw-r----- 1 root blukat_pwn 33 Jan 6 2017 password password 파일의 그룹 권한은 blukat_pwn blukat@ubuntu:~$ cat password cat: ..
#keygen, #solver, #z3PositionPoint: 160 Solved: 732요약본 Writeup은 z3를 이용하여 풀었습니다.serial과 passwd의 맨 마지막 문자열 p는 ReadMe.txt에 주어져있었고프로그램을 실행시켰을 때 보이는 Wrong 문자열을 cross reference 로 따라가서Correct!가 나오기위한 조건을 리버싱을 통해 수집하고z3를 통해 답을 도출했습니다. 1. serial은 76876-77776. passwd[3]은 p2. passwd 길이 4.3. passwd는 a~z로 이루어져 있음.4. passwd는 문자가 중복 사용되지 않음.5. serial은 길이 11. serial[5]는 -6. serial과 passwd를 비교 검증 분석ReadMe.txt:Re..
보호되어 있는 글입니다.