일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C언어
- 유니티 월드
- crypto-js
- 기초
- 유니티기초
- 유니티3d
- 유니티3D 2018.2
- cryptography
- 컴포넌트
- VisualStudio2017
- aes128
- 엔진기초
- CryptoJS
- 유니티 설치방법
- c++
- Visual Studio
- 빈 프로젝트
- 상속
- AES
- 게임 오브젝트
- 비쥬얼 스튜디오
- python
- c 환경설정
- Today
- Total
목록분류 전체보기 (15)
Basic of Computer Skills
저번 포스트에서 스택 프레임에 관한 개요를 살펴봤다. 정리하자면, 스택 프레임이란 스택 내부에서 함수가 갖는 자기만의 공간 이라고 말할 수 있다. 예를 들어 집에서(스택) 자기 방(스택 프레임)과 같은 개념인 것이다. 따라서 스택 프레임은 스택의 부분 집합에 속한다. C 언어는 메인 함수부터 시작하여, 그외 유저들이 만든 여러 함수들 까지 일단 호출되고나면 그 함수의 스택 프레임이 생성되고, 함수가 기능을 다해 종료될 때 그 함수의 스택 프레임이 정리되고 반납된다. 결국 이런 저런 함수들이 작동하면서 스택 프레임이 생성되었다가 반납되었다가를 반복하다가, 최종적으로 메인 함수의 스택 프레임까지 반납되면 비로소 프로그램이 종료되는 것이다. 여기서 함수란, 메인 함수를 포함하여 유저가 직접 만든 함수만을 한정..
스택 프레임(Stack Frame)이란, 간단히 말해서 "함수 자신만의 공간" 이라고 말할 수 있다. 그리고 이는 LOB를 풀기 위한 배경지식이므로, 해당 개념을 모른다면 포너블을 할 수가 없다. 어찌보면 스택 프레임이 프로그램 메모리 구조의 가장 기본이되는 지식이기 때문이다. 다음과 같은 프로그램이 있다고 가정하자. C 언어를 해봤다면, 프로그램이 시작할 때 main 함수부터 진행된다는 것쯤은 다 알 수 있을 것이다. 위의 프로그램은 main 함수가 func1을 호출하고, 또 func1은 func2를 호출하는 연쇄적인 구조를 가지고 있다. 따라서 해당 프로그램의 결과 값은 ================main has calledfunc1 has calledfunc2 has called==========..
ID에 gate, PW에도 gate를 입력하고 나면 1번 문제에 진입할 수 있다. ls 명령어를 실행하여 파일 리스트를 펼치고, 유저 권한을 보면 스파이가 하나 껴 있다. 여기서 root는 상위 디렉토리로 이동하는 ".."이니 당연히 아니고, 우리가 주목해야할 것은 하단 부분에 있는 gremlin이다. 그 아래 gremlin.c 가 있는 걸로 보아 저 gremlin 실행 파일은 C 언어로 컴파일 되었다는 것을 유추할 수 있다. 하단의 gremlin.c를 vi 라든지, cat이라든지, 아무거나 써서 코드를 읽어보자. 보기 쉽게 nl 명령어를 사용했다. 이는 cat 명령어와 유사한데, 대신 앞 부분에 라인(line) 수를 표기해준다. 코드를 보면 1 ~ 5번째 라인은 주석이니 무시하고, 결국 7번 라인 이후..
LOB는 vmware(가상머신) 기반으로 실행된다. 따라서 해당 문제를 실습하기 위해선, PC에 vmware가 필수로 설치되어 있어야한다. LOB 파일은 용량 한계상 여기에 업로드가 되지 않으니, 알아서 구한다. https://www.vmware.com/kr.html
시스템 해킹을 다른 말로 포너블(pwnable)이라 한다. 명칭의 유래는 한 유저가 게임에서 승리했는데, 이때 own! 이라고 입력할 것을 pwn! 라고 입력했고 이 말이 유행을 타서 굳어졌다고 한다. 시스템 해킹은 말 그대로 어떤 시스템을 해킹하여 정보를 획득하는 것을 목적으로 한다. 그리고 이런 목적을 달성하려면 해당 시스템의 관리자 권한을 탈취하는 과정이 필요하다. 즉 포너블은 시스템의 일반 유저의 자격으로, 여러 가지 공격 기법을 활용해 관리자 자격을 뺏는 절차라고 할 수 있겠다. 그리고 이는 문제풀이를 포함하여 여러 가지 여건을 살펴보니 리눅스 환경에서 많이 진행이 된다는 걸 알 수 있다. 그래서 해당 스킬을 공부하기 위해, 예전에 해커스쿨에서 구축해놓은 LOB(Lord of BufferOver..