저번 포스팅에서는 버퍼 오버플로우(BOF)에 대해 배웠다. 이번엔 The Lord of BOF라는 워게임을 통해 관리자의 권한을 획득하는 문제를 풀어보겠다. 문제 이름은 The Lord of BOF. gate에서 gremlin으로 통과하는 것이 목표이다. BOF는 버퍼 오버플로우, 프로그래머가 지정한 버퍼의 크기가 넘쳐서 취약점이 발생하는 것이다. gets()나 strcpy()는 경계검사가 없어 이런 취약점이 발생한다. 밑은 데이터 저장과 관련된 용어이다. - ESP(Extended Stak Pointer) : 현재 스택의 가장 위에 들어 있는 데이터를 가리키고 있는 포인터 - EBP(Extended Base Pointer) : 현재 스택에 가장 바닥을 가리키는 포인터 - payload : 전..
2주차 포너블 스터디는 구글 미팅으로 진행되었다. C언어의 기본적인 문법을 설명해주시고 어셈블리어라는 언어를 소개해주셨다. 어셈블리어는 기계어와 1대1로 대응되는 프로그래밍 언어이며 intel 형식의 문법을 기준으로 배울 예정이다! 어셈블리어는 [명령어][인자1][인자2] 의 형식이다. 어셈블리어는 레지스터를 사용하는데, 레지스터는 cpu 내에 있는 저장공간이고 접근 속도가 메모리보다 훨씬 빠르다. mov : 데이터를 복사하는 명령어 ( 레지스터를 통해서 복사한다. ) ex) mov[인자1][인자2] --> 인자2를 인자1에 복사한다. call : 함수를 호출하는 명령어 ex) call[함수] jmp : 특정 주소로 이동하는 명령어. je, jne, jle 등의 종류가 있다. ex)..
2020 -2 포너블 스터디의 1주차 활동이 시작되었다! 1주차의 주제는 리눅스 설치이다. 다음과 같이 vmware을 이용해서 우분투 계열의 환경을 만들었고, 터미널에서 리눅스 명령어를 사용해 작업을 진행해보겠다. 명령행 구조 명령어 [옵션][인자]의 형태로 이루어진다. 명령어 실습 · pwd 현재 디렉토리를 출력한다. · ls mgkim 하위에 있는 폴더와 파일을 출력해준다. + ls -l을 입력하면 파일 당 한줄로 출력하고 ls -a를 입력하면 숨겨진 파일까지 표시해준다. · cd cd는 특정 디렉터리로 이동하는 명령어이다. · mkdir : 디렉토리 생성 명령어 · rmdir : 비어있는 디렉토리 삭제 명령어 · rm : 파일 삭제 명령어 · cat : 파일의 내용을 출..