BOF

🌇│System_Study/📕│Dreamhack_Hacking

basic_exploitation_001

basic_exploitation_001 문제 풀이 자 들어가기 전에 문제가 발생했습니다.. 바로 NX가 적용된 코드라는 것이죠 참고로 32-little endian linux이고요 그럼 들어가기 앞써서 NX에 대해 알아봐야겠죠? NX(Bit | MS : DEP) NX-Bit(Never eXecute Bit; 실행 방지 비트) - 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역 분리 CPU의 기술 - NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용됨 - 프로세스 명령어가 그곳에 상주하지 않게 실행시켜줌 DEP(Data Execution Prevention) - MS windows OS에 포함된 보안 기능이며, 악의적 코드 실행 방지를 위한 메모리 확인 기술 - DEP는 ..

🌇│System_Study/📕│Dreamhack_Hacking

basic_exploitation_000

basic_exploitation_000 문제풀이(pwntools와 shellcode) 밑에 링크는 앞으로 기재될 문제 풀이에서 큰 도움이 될거예요 추가로 필요한 정보는 차차 기재할께요 Memory Corruption: Stack Buffer Overflow 스택 버퍼 오버플로우(Stack Buffer Overflow) 세계 최초의 웜이라고 불리는 모리스 윔도 이 공격을 통해 전파됨 보안 공부를 모르는 개발자도 알만큼 유명하고 역사가 오래된 취약점입니다. 이렇게 dystopia050119.tistory.com //file name : basic_exploitation_000.c //Complie : gcc -o basic_exploitation_000 basic_exploitation_000.c #inc..

🌇│System_Study/📕│Dreamhack_Hacking

Return Address Overwrite

문제풀이 너무 지쳐서.. 문제 풀이는 하나만 할까요? get_shell 함수를 활용 // 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; } 위 코드가 문제에서..