목록전체 글 (11)
binee::
plaid CTF를 3년만에 다시하게 되었다. 3년전에는 pwnable 문제를 하나도 못 건드렸는데 이번 대회는 혼자서 pwnable 두 문제 푼 것에 만족한다. fixed point 문제도 접근 방법은 맞았는데 끈기있게 하지 않은 게 잘 못이었던 것 같다. butterfly 문제는 감탄하면서 풀었다. 보통 buffer oveflow를 할 경우 ebp나 esp를 변조하거나 OOB를 사용하는 것이 일반적이다. 그런데 butterfly는 코드영역의 값을 수정해서 esp를 조작하는 아이디어를 낼 줄은 몰랐다. 덕분에 6시간 동안 hex-ray코드만 보다가 어셈블리 코드에서 코드영역의 점프문 값을 수정하려고 하다가 add esp, 48을 수정하면 eip를 변조 할 수 있다는 것을 뒤 늦게 알아버려서 정말 늦게 ..
pwn3는 마지막 문제인 만큼 시간이 많이 걸린 문제였다.보통 CTF에서 낮은 난이도나 중간 정도 난이도 문제로 이런 문제를 많이 내는데,IDA pro Hax-Ray가 해석을 잘 못해서 좀 귀찮았던 케이스였다. 푸는 동안 2016 codegate watermalon 과 유사하다고 느꼈고watermelon과 좀 다른 차이점은 문제가 좀 지저분하게 냈다.강제로 취약점을 만들려고 지저분하게 만든 거 같았다.덕분에 알고리즘 로직을 이해하는데 3시간은 쓴거 같다. Binary 분석 pwn3 바이너리를 확인 해보면 pwn3: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, Bui..
pwn2는 remote buffer overflow 정석 문제였다.개인적으로 remote buffer overflow 연습용 문제로 딱인 것 같다.이 문제도 마찬가지로 워밍업으로 가볍게 풀었다. Binary 분석 pwn2 바이너리를 확인 해보면 pwn2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=4b6d53bc9aca0e73953173f153dc75bd540d6a48, not stripped 위와 같이 32bit elf 파일이고, stack canary가 없는 것을 확인 할 수 있다.이 문제도 마찬가지로 buf..