전체 글

전체 글

    [App-System] ELF x64 - Stack buffer overflow - basic

    1. intro 2. code 및 분석 2.1. code #include #include #include #include #include /* gcc -o ch35 ch35.c -fno-stack-protector -no-pie -Wl,-z,relro,-z,now,-z,noexecstack */ void callMeMaybe(){ char *argv[] = { "/bin/bash", "-p", NULL }; execve(argv[0], argv, NULL); } int main(int argc, char **argv){ char buffer[256]; int len, i; scanf("%s", buffer); len = strlen(buffer); printf("Hello %s\n", buffer); r..

    [App-System] ELF x86 - Format string bug basic 1

    1. intro 2. code & 분석 #include #include int main(int argc, char *argv[]){ FILE *secret = fopen("/challenge/app-systeme/ch5/.passwd", "rt"); char buffer[32]; fgets(buffer, sizeof(buffer), secret); printf(argv[1]); fclose(secret); return 0; } 코드를 요약하면 .passwd 파일을 열고 buffer 변수에 32byte를 할당하고 fgets로 buffer 변수 size만큼 secret 파일에서 가져와서 buffer 변수에 저장한 뒤 printf로 argv[1]을 출력하고 종료한다. 하지만 printf(변수명)을 사용하기 때..

    [App-System] ELF x86 - Stack buffer overflow basic 2

    1. intro 2. code & 분석 #include #include #include #include void shell() { setreuid(geteuid(), geteuid()); system("/bin/bash"); } void sup() { printf("Hey dude ! Waaaaazzaaaaaaaa ?!\n"); } void main() { int var; void (*func)()=sup; char buf[128]; fgets(buf,133,stdin); func(); } 우선 envi. config.에 NX, Heap exec가 걸려있다. 추후에 이에 대해서 다시 한번 정리하기로하고, 간단히 이야기하자면 buffer 내에 의미 있는 코드가 입력되더라도 실행되지는 않게 막아주는 보호 기..

    2022년의 hacking 공부 목표

    지금까지 푼 문제들 write up. 쓴다고 썼는데 다시 읽어보니 무슨 말인지 이해가 안 된다... 기본만 안다면 누가 봐도 이해할 수 있도록 정리하자. 문제를 풀며 배운 이론들 재 정리. 마찬가지. 누가 봐도 이해할 수 있도록 정리하자. 그냥 문제를 풀기 위한 방법 정도로 보지 말고 다시 한번 이해하고 넘어가자. Root-Me App-system ELF x86 clear 가능하다면 이외 문제들도 풀어보기.

    [App-System] ELF x86 - Stack buffer overflow basic 1

    1. intro 2. code & 분석 #include #include int main() { int var; int check = 0x04030201; char buf[40]; fgets(buf,45,stdin); printf("\n[buf]: %s\n", buf); printf("[check] %p\n", check); if ((check != 0x04030201) && (check != 0xdeadbeef)) printf ("\nYou are on the right way!\n"); if (check == 0xdeadbeef) { printf("Yeah dude! You win!\nOpening your shell...\n"); setreuid(geteuid(), geteuid()); system(..

    Kali linux setup

    usb로 노트북에 설치하려고 했는데... usb가 문제인지 노트북이 문제인지 인식, 설치가 안된다. 차선책으로 vmware로 구동하기로 함. 바로 구동되도록 공식 홈페이지에서 파일 링크를 제공하기 때문에 다운로드하여서 그냥 vmware로 실행만 해주었다. (2022년 2월 버전 사용) 32bit, 64bit 모두 필요할 것으로 생각되어 함께 세팅. 구동해보니 이런저런 hacking tool이 설치되어 있다고는 하는데 내가 원하는 것들은 설치가 안되어있다. 개인적으로 gdb를 가장 많이 사용하는데, 진짜 없는 건지 내가 못 찾는 건지... 그래서 아래 명령어를 통해 기본 환경은 구성해 주었다. 32bit, 64bit 명령어는 동일. sudo apt-get update sudo apt-get install ..

    2022년 5월 다시 공부 시작.

    5월의 어느날 갑자기 2009년즈음 공부하던 hacking이 생각나 다시 공부하기 시작했다. 처음 hacking을 접한 것은 중학교 무렵인데, 대학생때 다시 한번 공부하다가 취업으로 인한 포기. 직장생활 13년을 바라보고 있기에 이미 익숙해진 업무. 그로 인해 남는 시간. 지금이 내가 하고싶던 공부를 다시 시작하기 적합하다고 생각했다. 공부에 늦은 시작은 없다지만, 중간에 두번이나 포기했던 것을 얼마나 더 이어갈 수 있을까 한편으로는 걱정되긴 하지만, 뭐 어떤가. 이미 생각보다 많은 문제를 풀었고 차근차근 정리할 공간이 필요해서 만든 tistory. 하나씩 써내려가보자.