일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- shellcode
- toddler
- PMA
- practicalmalwareanalysis
- pwnable
- Read
- BOF
- string
- shellcraft
- ASM
- pwnable.kr
- CTF
- Reverse
- pico
- Bug
- Bottle
- writeup
- reversing
- FSB
- pwn
- rev
- TUCTF
- format
- CANARY
- Leak
- anti
- Rookiss
- picoCTF
- Toddler's Bottle
- 2018
- Today
- Total
목록quals (3)
제리의 블로그
SECCON 2018 qualsClassic Pwn121 pt 197 Solvers 요약canary 가 없는 BOF 문제였으며fastcall 방식의 함수 호출규약을 따르기 때문에 gadget 을 모은 다음libc 주소를 leak 하고one_gadget 을 사용하여 쉘을 획득한다. leak 과 쉘 획득을 위한 공격을 동시에 하기 위해서는main 함수로 return 하도록chaining 을 통해 loop 를 만들어 준다. Description Host: classic.pwn.seccon.jp Port: 17354 classic libc-2.23.so $ sha1sum * aa9e979fd5c597526ef30c003bffee474b314e22 classic 56d992a0342a67a887b8dcaae381..
요약이 문제는 c 언어 라이브러리의 srand, rand 에 대한 문제로seed 값을 알아낼 수 있다면 풀 수 있습니다. 바이너리를 리버싱해보면현재 시간을 이용하여 seed 를 넣고 있다는 것을 알 수 있으므로같은 seed 값을 넣고 난수 생성을 100번 해주면 되는 문제입니다. writeup evenMoreLucky_exploit# nc 167.99.143.206 65032 Hello, there! What is your name? j3rrry I am glad to know you, j3rrry! Server time: 153761 If you guess the next 100 random numbers I shall give you the flag! What number am I thinking o..
요약이 문제는 c 라이브러리의 rand() 함수의 seed 값을 BOF 를 이용하여 덮어씌우고100개의 rand() 값을 맞추는 문제입니다. 입력받은 name 을 strcpy 로 스택영역에 복사하는데입력 길이 제한이 없기 때문에 overflow 하여 seed 값으로 이용되는 지역변수를 덮어씌워줍니다. 그 후부터는 seed 값을 알게된 셈이므로rand() 값을 100번 인증하면 됩니다. writeup lucky_exploit# nc 167.99.143.206 65031 Hello, there! What is your name? j3rrry I am glad to know you, j3rrry! If you guess the next 100 random numbers I shall give you the f..