Dice CTF(2)
-
[CTF Write Up] DICE CTF 2024 qual - boogie-woogie : 1-byte swap primitive to ROP
Out-Of-Bounds 취약점이 있는 바이트 스왑 함수가 있다. 1. 바이너리 영역에서 발생하는 Out Of Bounds 이므로 적당히 offset을 때려맞춰서 Heap 영역 주소를 얻는다. (Heap의 Top Chunk가 굉장히 크다는 것을 이용해서 임의의 탑 청크 내에 바이트를 스왑하고, 계속 주소를 줄이는 방식을 이용하면 경우의 수를 크게 줄일 수 있음) 2. Top Chunk의 size를 덮어서 크기를 작게 만든 후 scanf가 매우 큰 버퍼를 할당하게 만들면, Unsorted bin에 청크를 하나 넣을 수 있다. 이후 Unsorted bin의 fd에서 libc 주소를 leak 한다. 3. envrion 변수를 통해 stack 주소까지 leak 한다면 이제 ROP를 할 수 있다. 4. 이때 바이..
2024.02.05 -
[CTF write up] Dice CTF 2023 - Zelda : FSOP in ncurse.so lib
Dice CTF에서 출제된 1솔브 문제다. 푸는 방법은 완벽하게 구상했지만 remote로 페이로드가 보내지지 않아서 결국 시간내로 풀지는 못했다. 첫번째 취약점은 비동기적으로 동작하는 wgetch를 여러번 반복하는 형식으로 인풋을 받는다는 것이다. 버퍼에 여러 값을 한번에 보낼 수 없는 키보드 조작으로는 문제없이 프로그램이 동작하지만, pwntools나
2023.02.08