[ DreamHack ] Return Address Overwrite
·
INTERLUDE ✦/2022 SYSTEM STUDY
취약점이 존재하는 예제 프로그램을 공격하고, 쉘을 획득해보는 실습 사용할 예제 코드 : // Name: rao.c // Compile: gcc -o rao rao.c -fno-stack-protector -no-pie #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd, NULL}; execve(cmd, args, NULL); } int main() { char buf[0x28]; init(); printf("Input: "); scanf("%s", buf); return 0; } 취약점 분석 s..
[ DreamHack ] Stack Buffer Overflow
·
INTERLUDE ✦/2022 SYSTEM STUDY
https://dreamhack.io/lecture/courses/60 Memory Corruption: Stack Buffer Overflow 스택 버퍼 오버플로우의 개념을 살펴보고, 이로 인해 발생할 수 있는 보안 위협을 인터렉티브 모듈을 이용하여 학습합니다. dreamhack.io 스택 오버플로우 : 스택 영역이 너무 많이 확장되어서 발생하는 버그 스택 버퍼 오버플로우 : 스택에 위치한 버퍼에 버퍼의 크기보다 많은 데이터가 입력되어 발생하는 버그를 뜻함 버퍼 오버플로우 버퍼 : 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소 데이터의 처리속도가 다른 두 장치가 있을 때, 둘 사이에 오가는 데이터를 임시로 저장해 두는 장소 (완충 역할) 버퍼 오버플로우 : 버퍼가 넘치는 것을 의미 int로 선언..
[ DreamHack ] ShellCode
·
INTERLUDE ✦/2022 SYSTEM STUDY
보호되어 있는 글입니다.
[ DreamHack ] Shell_basic 풀이
·
INTERLUDE ✦/2022 SYSTEM STUDY
보호되어 있는 글입니다.
[ DreamHack ] pwndbg 실습
·
INTERLUDE ✦/2022 SYSTEM STUDY
~ 간단한 코드로 gdb 실습을 해 보자 ~ ctrl + f 1. 코드 작성 2. 코드 컴파일 3. 디버깅 시작 4. 파이썬 이용 5. 명령어 정리 코드 작성 // Name: debugee.c // Compile: gcc -o debugee debugee.c -no-pie #include int main(void) { int sum = 0; int val1 = 1; int val2 = 2; sum = val1 + val2; printf("1 + 2 = %d\\n", sum); return 0; } vi 편집기를 이용했음. 참고로 리눅스에서 C언어 코딩 하려면 vi (파일명).c로 생성하고, i (insert) 눌러서 작성, 코드 다 입력한 뒤에는 esc 입력하고 :wq로 저장함 vi (파일명).c // ..