목록전체 글 (48)
rsp-∞

엘사가 자기가 가진 눈사람 사진을 열면 눈사람을 같이 만들어 주겠다고 한다. misc 카테고리에 들어 있었지만, CTF에 따라 스테가노그래피라고 하는 하나의 카테고리로 따로 출제되는 형식의 문제였다. 밑줄이 그어진 picture을 클릭하면 엘사가 제시하는 눈사람 사진이 있다. 그러나 실제로 파일을 클릭해 보면 아무것도 보이지 않고, 다른 연결 프로그램을 돌려 보아도 지원되지 않는 포맷이라는 창만 나온다. 전체적인 풀이 방법 이전에 이번 CTF misc 카테고리에 스테가노그래피 문제가 더 있어서 건드려 보다가 알게 된 '시그니처'에 대해 먼저 언급하고 가겠다. 스테가노그래피는 기본적으로 이미지 파일을 분석하여 플래그를 획득하는 형식의 문제이다. 그러면 출제자들이 제시하는 이미지 파일은 당연히 PNG, JP..
// Name: rop.c// Compile: gcc -o rop rop.c -fno-PIE -no-pie#include #include int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Leak canary puts("[1] Leak Canary"); write(1, "Buf: ", 5); read(0, buf, 0x100); printf("Buf: %s\n", buf); // Do ROP puts("[2] Input ROP payload"); write(1, "Buf: ", 5); read(0, buf, 0x100); return 0;} rop.c의 코드이다. 카..
Return to Library는 공격자들로 하여금 실행 권한이 있는 영역의 주소를 반환시키는 공격 기법을 구현하게 한다. 이전에 드림핵에서 강의한 NX로 인해 셸 코드의 실행은 어려우나, 공격자들에게는 코드 영역과 라이브러리 영역에 대한 실행 권한이 남아 있다. 라이브러리는 여러 함수의 집합이므로 공격자의 입장에서는 당연히 코드 영역보다 라이브러리 영역에 집중할 수밖에 없는데, 카나리처럼 이 라이브러리 안에 있는 함수로 NX를 우회하고 셸을 획득하는 방법을 고안해 내고 그 이름을 Return to Library, 이하 RTL이라고 했다. // Name: rtl.c// Compile: gcc -o rtl rtl.c -fno-PIE -no-pie#include #include #include const c..