문제풀이 메모리 보호 기법을 먼저 보시면 canary적용과 NX가 있죠 RELRO는 저게 된건가? Relro는 다음에 자세히 서술할 시간이 오겠죠 그러니 이 내용은 패스하고 코드를 보면서 뭐가 취약한 코드인지 시큐어 코딩과 유사하게 지적까지 해볼까요 HTML 삽입 미리보기할 수 없는 소스 이 코드입니다. 제목과 주제가 주제이므로 당연히 BOF가 적어도 두 번 나오겠죠 코드를 보시면... 솔직히 저 case 모두 취약한 코드이긴 해요 뭐가 문제인지 하나씩 알아볼까요 위 코드는 BOF를 발생시킬 수 있지만 치명적인 코드 실행까지는 불가능하므로 Canary값을 생성하는데.. 왜냐하면 Box의 변수명인 변수 배열의 길이가 0x40이니까 그 이상으로 입력하시면 되겠죠 두 번째 코드는 우리가 입력값의 인자의 길이를..
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는 ..
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..