본문 바로가기

Chapter 1. 객체 지향 프로그래밍 I Chapter 1. 객체 지향 프로그래밍 I1. 객체 지향 언어 - C언어와 같은 절차 지향 언어에 몇가지 규칙을 추가해 보다 발전된 형태의 언어 - 객체(Object)라는 독립된 단위를 이용해 Code간에 서로 관계를 맺어 줌으로써 보다 유기적인 Program을 구성할 수 있도록 구성된 언어 - 객체 지향 언어의 주요특징 · Code의 재사용성 향상 · Code 관리 용이 · 신뢰성이 높은 Programing을 가능하게 함 2. Class And Object - Class · 객체(Object)를 정의 해 놓은 것 · 객체를 생성하는데 사용된다. - 객체(Object) · 사물 또는 개념과 같이 실제로 존재하는 것 · 객체가 가지고 있는 기능과 속성에 따라 용도가 정해진다. - Object And In.. 더보기
FTZ level20 FTZ level 20 - Question · level20 ID로 Login해서 clear의 password를 찾기 - Solution · 'level20' Directory의 hint 내용을 확인해보면 Hint로 attackme File의 Source Code가 제공된다. · 기존과는 Level과는 달리 gdb를 통해 분석할 수 없도록 main함수의 Symbol이 모두 삭제되어 있어 gdb를 통해 분석하는 것이 불가능하다. · Source Code 분석 ◦ fgets 함수와 printf에 서식문자가 사용되지 않은 점으로 Format String Attack을 해야 한다. · Format String을 통한 Memory 구조 확인 ◦ 문자열을 삽입 후 %08x의 개수를 증가시키면서 Test 해보면 12.. 더보기
FTZ level19 FTZ level 19 - Question · level19 ID로 Login해서 level20의 password를 찾기 - Solution · 'level19' Directory의 hint 내용을 확인해보면 Hint로 attackme File의 Source Code가 제공된다. · Source Code 분석 ◦ Stack Memory 영역에 buf 변수를 20Byte만큼 확보한다. ◦ 이전 문제와는 달리 'setreuid()' 함수가 사용되지 않았다. ◦ 'gets' 함수가 사용되었으며 이를 이용해 BOF 공격을 해야 한다. · File을 분석하기 위해서는 gdb를 사용해야하는데 원본 File이 level14에 대해서만 쓰기(w)가 가능하므로 쓰기 권한이 주어진 tmp Directory에 복사 후 분석.. 더보기