어느덧 마지막 글이다.좀 그냥 자연스럽게 글 하나 써보고 싶었다. 10월에 번아웃이 왔던 것 같다. 번아웃인지도 모르겠는데, 뭔가 오긴했다.아무것도 하기 싫었다. 근데 학회 논문 투고 및 한국통신학회 학술대회 논문집, 산학협력프로젝트, 서버링 프로젝트, 코드링 프로젝트, cyber war 유니티 프로젝트, 솔로오징어게임 with 코스페이스 프로젝트, 오픈소스 SW 경진대회 2개, 점프업을 3개월동안 진행했고 지금도 진행하고 있다. 여기에 현재 학생회 차기 학생회...그리고 아마 더 있을 지도 모른다.근데 문제는 초과학점 22학점에다가 알고리즘 조교 , 소봉단, 함께가요(고등학생 멘토링)까지 하다보니까 월화수목금 전부 수업을 듣고, 주말에 겨우 시간이 나서 프로젝트를 하고 그런식이었다. 야간에는 저런 프..
분류 전체보기
프롤로그bandit문제풀이저번 비밀번호는 FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAn 이다. 문제다음 단계로 가는 비밀번호는 /etc/bandit_pass/band14안에 있고, bandit14 user만 읽을 수 있습니다. 이번 레벨에서는 직접 비밀번호를 제공받지 않으며, 대신 bandit14 사용자의 SSH 접속에 사용할 수 있는 프라이빗 SSH 키가 주어집니다. (참고: localhost는 현재 작업 중인 머신을 나타내는 호스트 이름입니다.) 풀이과정일단 접속부터 한다.ssh bandit13@bandit.labs.overthewire.org -p 2220FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAnls접속을 했을 때에는 sshkey.private로 PEM RSA ..
프롤로그ELITE HACKER Bootcamp 3rd 4주차 수업 공부 내용aws 우분투 서버 하나 파서 연습구조체, 선언, 포인터, 배열, 함수, 중첩, 메모리구조, 패딩 구조체일종의 클래스와 비슷한 개념이라고 보면된다. 클래스... 하나의 객체를 만들어놓는 것이다. 다만 클래스랑 조금 다른 것이 있다면, 메서드(행동)이 없다는 것. 그러니까 이제 구조체 정의 자체가 구조체는 서로 관련된 여러 데이터를 하나의 단위로 묶기 위해 사용되는 사용자 정의 데이터 타입인거고, 클래스는 여기에 행위까지 같이 넣어두었으나, C언어에서는 행위까지는 존재하지않는다. 라고 알면 될 것 같다.조금 예시를 들자면, 시험점수를 입력하려고 한다고 치자. 한 사람마다 국어, 수학, 영어 점수가 있을 것이고, 그 사람의 전체 등급..
프롤로그ELITE HACKER Bootcamp 3rd 4주차 수업 공부 내용aws 우분투 서버 하나 파서 연습string.h 헤더 string.h 헤더C언어에서 문자열을 다루는 몇몇 함수들은 이미 string.h 헤더 안에 저장되어 있다. 이 함수들을 사용하면 문자열 관련하여 어제 작성했던 코드들 매우 쉽게...원하는 대로 사용할 수 있다.2024.11.23 - [KnockOn] - [KnockOn] Linux/Ubuntu C언어 문자열 [KnockOn] Linux/Ubuntu C언어 문자열프롤로그ELITE HACKER Bootcamp 3rd 4주차 수업 공부 내용aws 우분투 서버 하나 파서 연습문자열의 개념, 용도, 선언과 초기화, 배열, 포인터 문자열2024.11.14 - [KnockOn] -..
프롤로그ELITE HACKER Bootcamp 3rd 4주차 수업 공부 내용aws 우분투 서버 하나 파서 연습문자열의 개념, 용도, 선언과 초기화, 배열, 포인터 문자열2024.11.14 - [KnockOn] - [KnockOn] Linux/Ubuntu C언어 입출력함수 [KnockOn] Linux/Ubuntu C언어 입출력함수프롤로그ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용aws 우분투 서버 하나 파서 연습출력함수, 포멧 스트링, 이스케이프시퀀스, C언어의 입력함수, 문자열 출력 함수이전 글들을 슥 돌아보면, 결taesan-smj.tistory.com여기서 한 번 언급을 했었는데, 왜 입출력함수에 언급을 했었는지 모르겠네 ㅋㅋ아무튼 다시 작성해보자면생각을 해보자. 기존에 ..
프롤로그bandit 문제풀이mktemp, hex dump, 저번 비밀번호는 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4 이다. 문제다음단계로 가는 비밀번호는 data.txt 파일안에 들어가있다. 근데 그 파일은 여러번 압축된 파일의 16진수 덤프이다. /tmp 작업용폴더를 만들어라. 디렉터리 이름은 추측하기 어려워야하기에 mktemp -d를 이용해라. 거기다가 파일 복사한 다음에 작업해라. mv를 이용해라 와.. 문제부터 어렵냐? mktemp임시 파일이나 디렉터리를 만드는 명령어이다.mktemp #임시 파일 생성mktemp -d #임시 디렉터리 생성-d를 붙이면 임시 폴더가 생성된다.해당 주소로 이동하게 되면방금 생성된 파일들 또는 디렉터리들이 있다.이 명령어를 실행하면 /tmp/ 아..
프롤로그ELITE HACKER Bootcamp 3rd 3주차 수업 공부 내용aws 우분투 서버 하나 파서 연습포인터, 사용이유, 장점, 사용 방법, 포인터와 배열, call by value, call by reference, 함수 포인터, 이중포인터 포인터메모리 주소를 저장하는 변수이다. 흔히들 int형, char등을 선언하게 되면 해당 값을 저장하게 되는데, 포인터의 경우 해당 값이 저장되어있는 메모리 주소 값을 저장한다.이를 통해서 다른 변수 또는 함수를 가리킬 수 있으며, 포인터를 통해 변수를 읽거나 쓸 수 있다. 왜 굳이 포인터를 사용하냐...라는 질문이 있을 수도 있는데... 이게 확실하진 않고 뇌피셜이긴 하다.컴퓨터 구조에 opcode라는 것이 있다. mode | opcode | opera..
프롤로그ELITE HACKER Bootcamp 3rd 3주차 수업 공부 내용aws 우분투 서버 하나 파서 연습함수의 개념, 용도, 선언, 정의(프로토타입), 매개변수, 반환값, 가변인자, 스코프, 재귀 함수, 가변인자 함수의 스코프스코프..scope... 해석하자면 "범위" 라는 의미이다.뭐 전역 변수(global scope), 지역 변수(local scope), 블록 변수(block scope) 막 이런식으로 얘기하는데 헷갈리지 않는 방법이 있다.{ } 이 중괄호 사이 안에서 선언한 변수는 딱 거기서만 사용할 수 있다.전역 변수 같은 경우는 중괄호 {} 안에 있는 게 아니라 바깥에 있기 때문에 어느 곳에서나 사용할 수 있다.그런데, 일반 함수를 선언하고 그 안에서 변수가 사용되면, 해당 함수는 { }..
프롤로그ELITE HACKER Bootcamp 3rd 3주차 수업 공부 내용aws 우분투 서버 하나 파서 연습함수의 개념, 용도, 선언, 정의(프로토타입), 매개변수, 반환값, 가변인자, 스코프, 재귀 함수, 함수 포인터, 가변인자 함수중고등학생 때에도 함수에 대해서 많이 배웠다.y = f(x)수학적용어로 함수라고 하는 것은, x의 값에 따라 y의 값이 하나로 나오는 관계를 함수라고 한다.좀 더 전문적으로 말하면...정의역의 원소마다 공역의 원소가 오직 하나씩 대응대는 관계..그래서 만약에 f(x) 가 3x+1이라고 하면y = 3x+1이러한 함수에서, x에 값에 어떠한 값을 넣어도 y는 무조건 하나만 나오게 된다.이 수학적 함수가 코드에서도 거의 비슷하다. 코드 세계에서 함수란, 어떠한 기능을 하는/특..
프롤로그bandit 문제풀이저번 비밀번호는 dtR173fZKb0RRsDFSGsg2RWnpNVj3qRr 이다. 문제다음 레벨로 가는 비밀번호는 data.txt 파일에 저장이 되어있다. 소문자 a-z, 대문자 A-Z까지 단어를 13칸 회전시켜서 만들어졌습니다.ROT13 기법이니 잘 찾아서 해봐라. ROT13일종의 암호화 기법인데, Rotate by 13의 줄임말이다. 별도의 열쇠값이 없이 영어 알파벳을 13칸씩 밀어내는 방식으로 암호화를 한다.1234567891011121314151617181920212223242526abcdefghijklmnopqrstuvwxyznopqrstuvwxyzabcdefghijklm이렇게 a를 1번이라고 했을 때 13칸 뒤의 있는 알파벳은 14번째의 n이다. b는 13칸뒤에..
프롤로그ELITE HACKER Bootcamp 3rd 3주차 수업 공부 내용점수 처참해서;; 빡세게 공부해보자.aws 우분투 서버 하나 파서 연습배열, 배열 선언 방법 , 배열의 인덱스 참조 방법, 배열의 메모리 구조, 2차원 배열 , n차원 배열 (n > 2) 배열같은 형태의 데이터, 동일한 자료형의 데이터를 한데 묶어 연속된 메모리 공간에 저장하는 데이터 구조이다. 미리 크기를 정의하고, 인덱스를 통해서 각 요소에 접근할 수 있다.배열의 특징이 있다면 다음과 같은데 고정된 크기: 배열의 크기는 선언할 때 정해지며, 프로그램 실행 중에는 변경할 수 없다.인덱스: 배열의 인덱스는 0부터 시작한다. 첫 번째 요소는 인덱스 0에, 두 번째 요소는 인덱스 1에 위치한다.연속된 메모리: 배열 요소는 메모리상..
프롤로그bandit 문제풀이저번 비밀번호는 FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey 이다. 문제다음 레벨로 가는 비밀번호는 data.txt 파일 안에 저장되어있는데, 그 파일은 base64 인코딩된 데이터가 포함되어있다. base64란?바이너리 데이터를 텍스트 형식으로 인코딩하는 방법 중 하나. 주로 이진 데이터를 텍스트로 변환하거나, 아니면 네트워크 전송 및 데이터 저장을 할 때 사용된다. 왜 base64냐? 아스키 코드 중에서 [a-z], [A-Z], [0-9] , +, /까지 총 26+26+10+2= 64개, 즉 기본적인 것만 사용한다고 해서 base64라고 불린다. 그래서 base64 인코딩이라고 한다는 것은, 원래 바이너리 데이터를 Base64 형태로 변환한다는 의미이고, ..