FTZ level2pw : hacker or cracker 지난 level1에서는 다음권한의 setuid가 걸린 파일을 찾는 법을 알았습니다. 이를 응용해 level2를 풀어봅시다. ls –l 명령어로 파일 확인 힌트가 있습니다. 힌트를 보면, 그럼 이제 level3의 setuid가 걸린 파일을 찾아봅니다. /usr/bin/editor의 파일에 setuid가 걸려있습니다. 실행을 시켜보나 vi가 켜졌습니다. 아까 힌트에서 vi 편집중 쉘의 명령을 실행 할 수 있다고 했는데, Vi를 종료하면서 my-pass를 적어주니 다음 레벨의 password가 나왔습니다. Level3 Password is “Can you fly?”
FTZ level1 pw : level1 ls 명령어를 통해 파일을 봅시다. level2 권한의 setuid가 걸린 파일을 찾아야합니다.그렇다면 검색을 통해 setuid가 걸린 파일은 찾으면 됩니다. *setuid와 setgid에 대해서 알아봅시다Setuid의 경우 사용자가 사용을 할 때만, 소유자의 권한으로 파일을 실행시키고, setgid의 경우 사용자가 사용을 할 때만, 그룹의 권한으로 파일을 실행시킵니다. Setuid는 권한을 쓸 수 있는 특수 권한 입니다. 이 명령어를 써주면 무엇인가 쓸데 없는 것이 너무 많아 보입니다. Permission denied는 권한이 없다라는 것인데, 파일들을 구분하기 쉽도록 2>/dev/null 명령어를 추가 해 주면 됩니다.(2는 에러가 나는 파일, 1은 에러가 나..
문제 효민이는 선린고를 졸업하고 CISCO에 입사하기 위하여 CISCO면접을 보았다.효민이는 CISCO 면접 시험을 푸는 중이다.네트워크에서 서브넷 마스크를 ex) 255.255.255.0 -> 11111111.11111111.11111111.0 -> /24(이진수에서 1의 개수가 24(8+8+8개) 이런 식으로 줄여 표기하기도 하는데, 시험 문제에서는 255.255.255.0이 아닌/24로 표기되어 있다고 한다. 효민이는 프로그래밍의 신이라 이 문제를 노트북을 키고 C언어로 쉽게 구현하려 한다.만약 이 문제를 푼다면 효민이는 CISCO에 취직을 할 수 있다고 한다. 구현해보자. 입력 X를 입력 받는다. X는 0 24 출력1 입/출력 예시 2 입력2 30 출력2 코드 #include /* made by ..
문제 1 프로그래밍을 좋아하는 효민이는 이집트에 가서 피라미드를 보았다. 그 순간 선생님이 알려 준 피라미드 별찍기가 생각났다. 효민이는 노트북을 키고 피라미드 예제를 코딩하기 시작하는데, 선생님이 알려준 피라미드는 너무 쉽다고 투정을 부린다. 그래서 효민이는 피라미드에 원하는 문자열을 삽입하여 피라미드를 멋있게 꾸미려고 한다. 입력 첫 번째 줄에는 홀수인 문자의 개수를 n 받는다.두 번재 줄에는 문자의 개수가 홀수인 n만큼의 문자열을 입력받는다. 출력출력은 문자열의 중간에 있는 문자(mid)가 피라미드의 꼭대기에 오고 mid-1, mid+1의 문자가 피라미드의 다음층으로 내려온다. 또 mid-2, mid+2의 문자는 다음층으로 내려온다. 따라서 mid-k, mid+k의 문자는 k층 만큼 내려온다. 입/..
컴파일러의 실행 단계 - 많은 수의 컴파일러는 다음과 같은 순서를 거쳐 소스 코드를 번역한다.- 컴파일러의 특성상 일부 단계는 생략되거나 더 세부화가 될 수도 있다.- C언어는 사용자가 제작한 소스 파일을 실행파일로 만드는데 1. Preprocess, 2. Compile, 3.Link 이 세 가지 과정을 거친다. Preprocess(전처리)- 소스파일 내부에 있는 전처리 명령을 수행하는 과정이다. - 전처리 명령은 소스파일 내부에 ‘#’으로 시작되는 명령어들이며 이 명령어들은 Preprocessor(전처리기)가 이 명령어들을 수행하게 된다.-전처리 명령어는 주로 소스파일을 컴파일 하기 전에 어떤 형태로 컴파일 할지 결정하거나, 소스코드의 가동성을 높이는 등의 역할을 수행하게 된다. Compile(컴파일)..
고급언어- 고급 프로그래밍 언어란 사람이 이해하기 쉽게 작성된 프로그래밍 언어 이다.- 이해 가능 정도에 따른 분류 중 하나이며. 이는 저급언어와 고급언어로 나뉜다. 고급언어의 특징- 저급 프로그래밍 언어 보다 가독성이 높고 다루기 간단하다.- C언어, 자바 등 대부분의 프로그래밍 언어들은 고급언어에 속한다.- 저급언어와는 다르게 특정 컴퓨터와 관계없이 독립적으로 프로그램을 만들 수 있다.고급언어를 컴퓨터 언어인 기계어로 변환하기 위해 컴파일러와, 인터프리터 등이 있다.기계어로 변환하는 동안 시간이 소요되며 저급언어보다 프로그램 크기가 더 크다. 고급언어 와 저급언어로 나누는 기준- 고급 프로그래밍 언어와 저급 프로그래밍 언어란 사람이 접근하기 쉬운가 어려운가의 차이를 두고 기준으로 하여 나뉘어져 있다...
전처리기 -전처리기란 컴파일러가 소스 파일을 컴파일 하기 전에 사용자가 지시한 작업을 먼저 처리하는 것 이다. 전처리기의 특징 -C 언어는 전처리기를 사용하여 그 능력과 표기법을 확장한다.-#으로 시작하는 행을 전처리 지시자라고함ex) #include.. #define.. #if..등-전통적인 C에서는 첫 번째 열에 #이 와야 한다.-전처리기는 C를 알지 못한다.-세미콜론; 이 없다.-파일 처리를 위한 전처리기 문 : #include -형태 정의를 위하 전처리기 문 : #define, #undef-조건 처리를 위한 전처리기 문 : #if, #ifdef, #else, #elif, #edif-컴파일 옵션 처리를 위한 전처리기 문: #pragma #include 미리 정의된 include 폴더에서 파일을 찾는..
프로젝트 이름 : 효민타자연습기 프로젝트 주제 : 영어타자 속도를 늘릴 수 있는 영타자 게임 만든 동기 : 입학 후 영타가 느려 영타연습을 많이 했는데 영타자 연습 겸 타자게임을 만들어 보고 싶어서 만들었다. 게임 소개 : 화면에서는 색깔이 다른 영단어들이 사방팔방 뜨게 된다. 색깔마다 점수 배점이 다르고, 사방팔방 단어가 계속 뜨는 동안에 입력을 해서 화면에 뜬 단어를 없애고 점수를 얻는다. 점수는 왼쪽 상단에 표시가 된다. 그리고 메인 메뉴에서 도움말과 나의 최고 점수를 확인 할 수 있다. 기존 최고 점수보다 게임 점수가 높다면 최고 점수는 갱신이 된다. 게임은 30초 동안 진행되고 30초가 지나면 메인 메뉴로 돌아가게 된다. 게임 화면 : 게임 초기 화면 게임 실행 중 화면 게임 도움말출력 과 입력..
- glibc
- SQLi
- hacking
- 본선가고싶다
- ebp change
- codegate
- exit
- stack reusing
- rt_sigreturn
- heap
- overflow
- shellcoding
- fastbindup
- tcache
- fastbin
- pwnable
- fsop
- oob
- pwable
- srop
- FSB
- 해킹
- HackCTF
- pwnable.tw
- TLS
- Total
- Today
- Yesterday