CTF Review

CTF Review

[ stack ] BSidesSF 2019 CTF slowfire 미완성

glibc-2.27 이 풀이는 잘못되었다 소켓과 네트워크에 대한 이해가 조금 더 필요할 것 같다 #1. 문제 살펴보기 문제를 실행해보기 전에 다음과 같은 코드가 필요하다. 그 이유는 socket() 때문이다 socket( ) 을 이용하기 위해서는 서버와 클라이언트에 대한 이해가 필요하다. 매우 개방적인 문제인 것 같다. NX(Non eXecutable) 가 안걸려있으니 bss같은 영역에 쉘코드 올려두고 ret을 해당 주소로 덮으면 될듯..? 두둥! RWX : Has RWX segments #2. 문제 분석하기 socket( ) 0 ) return handle_client(v4_fd); } while ( v4_fd >= 0 ); return -1; } 사용자에게 입력을 받기 시작하는 함수는 handle_c..

CTF Review

[ heap ] 0CTF 2019 baby_aegis

glibc-2.27 #1. 문제 살펴보기 처음보는 보호기법 3가지가 있다. 1. FORTIFY SSP와 비슷하게 일반 메모리 버퍼에 대해 overflow를 감지하여 주는 역할을 한다. (SSP : Stack Smashing Protector - Canary, ... ) 2. ASAN : Address Sanitizer google에서 제공하는 보호기법으로 아래에 해당하는 취약점을 방어한다고 한다. Use after free (dangling pointer dereference) Heap buffer overflow Stack buffer overflow Global buffer overflow Use after return Use after scope Initialization order bugs Mem..

CTF Review

[ heap ] HSCTF 2019 aria-writer-v3

glibc-2.28 #1. 문제 살펴보기 #2. 문제 분석하기 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax int v4; // [rsp+4h] [rbp-Ch] int v5; // [rsp+Ch] [rbp-4h] qword_6020E8 = 4919LL; qword_6020F0 = 1056LL; setvbuf(stdout, 0LL, 2, 0LL); printf("whats your name > "); fgets(s, 232, stdin); // bof v4 = strlen(s); if ( s[v4 - 1] == 10 ) s[v4 - 1] = 0; printf("hi %s!\n", s); ..

CTF Review

[ stack ] NACTF 2019 bufover-1

#1. 문제 살펴보기 #include void win() { printf("You win!\n"); char buf[256]; FILE* f = fopen("./flag.txt", "r"); if (f == NULL) { puts("flag.txt not found - ping us on discord if this is happening on the shell server\n"); } else { fgets(buf, sizeof(buf), f); printf("flag: %s\n", buf); } } void vuln() { char buf[16]; printf("Type something>"); gets(buf); printf("You typed %s!\n", buf); } int main() { /..

S!_Jmini
'CTF Review' 카테고리의 글 목록 (2 Page)