리눅스

· KnockOn
프롤로그ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용aws 우분투 서버 하나 파서 연습출력함수, 포멧 스트링, 이스케이프시퀀스, C언어의 입력함수, 문자열  출력 함수이전 글들을 슥 돌아보면, 결과값들을 출력하기 위해서 주로 printf를 사용하였었다. 그 외에 몇 개 더 있는데, 알아보도록 하자.(1) printf()일반적으로 문자열을 포맷팅하여 출력하는 가장 많이 사용되는 함수이다.printf("안녕");이런식으로 많이 쓰인다. (2) putchar단일문자를 출력하는 함수이다.putchar('A');이런식으로 사용한다. (3) puts문자열을 출력하고 자동으로 줄 바꿈을 한다.puts("Hello, World!");이런식으로 사용한다. 실제로 한 번 써보자.#include in..
· KnockOn
프롤로그ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용aws 우분투 서버 하나 파서 연습연산자 종류, 산술연산자, 비트연산자, 논리연산자, 증감연산자, 형변환  연산자연산자란 값이나 변수에  특정 작업을 수행하는 데 사용되는 기호를 말한다. 흔히 우리가 아는 사칙연산 +, - 이런 것들도 값 또는 변수에 "특정 작업"을 수행하기에 이 또한 포함된다.다양한 연산자가 있는데 아래 쭉 살펴보자. 산술연산자산술연산자, 사칙연산이라고 생각을 하면 된다. 우리가 아는 그 사칙연산 +-*/ 맞다.+더하기a+b-빼기a-b*곱하기a*b/나눗셈 (몫)a / b%나눗셈 (나머지) , 모듈러라고도 함a % b보면은 나눗셈이 / 도 있고 %도 있는데, 아래 코드로 확인해보자.#include int main..
· KnockOn
프롤로그aws 우분투 서버 하나 파서 연습C언어의 상수, 변수, 자료형, 오버플로우와 언더플로우, 변수 선언 방법/규칙, 주석처리 상수와 변수수학적인 개념으로 상수와 변수를 알아보자.4x-3 = 1이렇게 있을 때, -3은 변하지 않는 값, x는 변하는 값이다.x의 값은 1, 2, 3, 4, 5, ....1.1, 1.2,....pi...등 여러 개의 값들이 올 수 있고, x에 값에 따라서 해당 식이 참이 될 수도, 거짓이 될 수도 있다.이렇기에 x는 변하는 수, 즉 변수라고 한다.반면에 -3 같은 경우에, 해당 식에서 절대로 변하지 않는다. 1도 마찬가지다. 이를 상수라고 한다.그렇다면 x 앞의 4는? 저건 계수라고 하는데, 일단 상수와 변수의 값만 볼 것이니까... 이게 C언어 뿐만 아니라 다른 프로그램..
· KnockOn
프롤로그ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용aws 우분투 서버 하나 파서 연습C언어, 컴파일러, gcc  C언어란?UNIX 운영체제 개발을 위해 설계한 범용 프로그래밍 언어하드웨어와 밀접하게 작업할 수 있는 저수준 프로그래밍 부터 고수준 프로그래밍 까지 갖추고 있다. 절차적 프로그래밍 언어: C는 프로그램이 순차적으로 실행되는 절차적 구조이다. 메모리 접근 제어: C 언어는 포인터를 통해 메모리 주소로 직접 참고 -> 하드웨어에 용이컴파일러 기반 언어: C 프로그램은 소스 코드를 컴파일하여 실행 파일로 변환한 후 실행. gcc 사용포터블(이식성): 대부분의 운영체제에서 C 컴파일러를 사용하면 동일한 C 코드가 쉽게 이식되어 다른 플랫폼에서 실행 가능   컴파일러 vs 인터..
· bandit
프롤로그bandit 문제풀이저번 비밀번호는 4CKMh1JI91bUIZZPXDqGanal4xvAg0JM 이다. 문제다음 레벨로 가는 비밀번호는 data.txt 인 파일에 있다. 그리고 사람이 읽을 수 있는 문자열이고, 몇개의 = 문자 뒤에 있다.  strings바이너리 파일이나 이진 데이터 내에 포함된 사람이 읽을 수 있는 텍스트 문자열을 추출하는 데 사용된다. 일반적으로 바이너리 파일은 사람이 직접 읽기 어려운 형식으로 되어 있으므로, strings 명령어는 그 안에서 ASCII나 유니코드 문자열을 찾아 출력한다.-n  : 최소 길이 맞추기strings -n 8 program #8글자 이상 가져오기- e : 특정 인코딩 strings -e S binaryfile #UTF-16- t : 특정 오프셋  gr..
· bandit
프롤로그bandit 문제풀이저번 비밀번호는 dfwvzFQi4mU0wfNbFOe9RoWskMLg7eEcuniq, sort, | 문제다음 단계로 가는 비밀번호는 data.txt 파일에 저장되어 있는데, 딱 한 번만 발생하는 유일한 라인에 저장되어 있다(?)  sort파일의 내용을 정렬하는 데 사용된다. 기본적으로 sort는 텍스트 파일의 줄을 기준으로 정렬하며, 다양한 옵션을 사용하여 정렬 방식을 세부 조정할 수 있다.sort [옵션] [파일명]이렇게 사용할 수 있는데, 옵션을 좀 보자.-n : 숫자대로 정렬한다.sort numbers.txt #기본 정렬sort -n numbers.txt #숫자 정렬원래는 텍스트 기반 정렬이라서 숫자가 있을 시 애매해졌는데, 숫자 정렬만 할 거라면 -n 을 켜줘야한다. -r..
· bandit
프롤로그bandit 문제풀이저번 비밀번호는 morbNTDkSW6jIlUc0ymOdMaLnOlFVAaj 였다grep, sed 문제다음 레벨로 가는 비밀번호는 data.txt에 저장되어 있는데, 비밀번호는 millionth 단어 뒤에 있습니다.  grep텍스트 검색에 사용되는 명령어로, 파일이나 명령어의 출력에서 특정 패턴을 검색하고, 그 패턴이 포함된 줄을 출력한다. 정규 표현식을 사용하여 복잡한 것도 검색이 가능하다.-i : 대소문자 구분 Xgrep -i 'pattern' filename-r / -R : 하위 디렉토리 까지 검색grep -r 'pattern' /path/to/dir- l : 패턴이 포함된 파일 이름만 출력grep -l 'pattern' *- n : 해당 패턴이 포함된 줄 번호까지 출력gr..
· bandit
프롤로그bandit 문제풀이저번 비밀번호는 HWasnPhtq9AVKe0dmk45nxy20cvUa6EG 이다.find, cat, /dev/null, xargs, |  문제다음 단계로 가는 비밀번호는 서버 어딘가에 저장되어 있다. 특징은 다음과 같다.- 소유자는 bandit7- 소유그룹은 bandit6- 33바이트의 크기 findfind에 관련된 정보는 저번글에 적어놨고,2024.11.10 - [bandit] - [2024/bandit] bandit level5 -> level6 Write-up level6 Write-up" data-og-description="프롤로그bandit 문제 풀이저번 비밀번호는 4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw  문제다음 레벨로 가는 비밀번호는 inher..
· bandit
프롤로그bandit 문제 풀이저번 비밀번호는 4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw  문제다음 레벨로 가는 비밀번호는 inhere디렉터리 내부에 있는데, 이게 어딘가에 있다. 이것의 특징은- 사람이 읽을 수 있고-1033바이트 크기이고- 실행할 수 없다.  find이전에는 file로 파일이 특징을 알아봤다면, 이번에는 find로 찾아야 한다. 왜냐? inhere가 어디있는지 모르니까, 이것의 위치를 찾든 뭐든 찾아야 하지 않겠나...그래서 파일을 찾을 때에는 find 명령어를 써야하는데find [경로] [옵션] [검색 조건] [후속 작업]그래서 만약에 어딘가에 존재한다면... 경로를 / 로 설정해야한다.옵션을 살짝 보자.-name : 대소문자를 구분해서, 검색조건에 이름에 일치하는 파..
· bandit
프롤로그bandit 문제 풀이저번 비밀번호는 2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJls -al, cat, cd, file 문제다음 단계로 가는 비밀번호는 inhere 디렉터리 내부에 사람이 읽을 수 있는 파일로 존재합니다.  풀이과정가장 먼저 해야할 것은, 일단 접속 하고 ls -al부터 해야한다.ssh bandit4@bandit.labs.overthewire.org -p 22202WmrDFRmJIq3IPxneAaMGhap0pFhF3NJls -alinhere 디렉터리 내부에 있다고 하니까, inhere로 이동해서 다시 ls -al을 해보자.cd inherels -al -file00 부터 -file09 까지 총 10개의 파일이 존재한다. 저 10개 파일을 전부 확인해서 사람이 읽을 수 ..
· bandit
프롤로그bandit 문제 풀이저번 비밀번호는 MNk8KNH3Usiio41PRUEoDFPqfxLPlSmxls -al, cat, cd 문제다음 단계로 가는 비밀번호는 inhere 디렉터리 내부에 숨겨진 파일로 존재한다. 풀이과정단순히 ls -l 을 하면 숨겨진 파일은 안 나온다. 숨겨진 파일은 .으로 숨겨져 있기에, ls -al을 통해야만 숨겨진 파일을 알아낼 수 있다. 일단 접근부터 하자ssh bandit3@bandit.labs.overthewire.org -p 2220MNk8KNH3Usiio41PRUEoDFPqfxLPlSmx로 접속한 다음에 ls -al를 해보자.문제에서 inhere에 있다고 했으니까, 다시 inhere에 들어가서 ls -al을 해보자.cd inherels -al그러면 저기 Hiding-..
· bandit
프롤로그bandit 문제 풀이저번 비밀번호는 263JGJPfgU6LtdEvgfWU1XP5yac29mFxcat 문제다음 단계로 가는 비밀번호는 홈 디렉터리 안에 spaces in this filename 라는 파일안에 저장되어 있다.  풀이과정똑같이 "spaces in this filename" 를 cat으로 열면 될 것이다.ssh bandit2@bandit.labs.overthewire.org -p 2220263JGJPfgU6LtdEvgfWU1XP5yac29mFx로 접속하고ls -al로 파일 이름을 확인하자.저기 있는 spaces in this filename을 보기만 하면 되는 것이다.이 문제의 의도는 저 공백이 있으면 cat 명령어의 각각의 인자로 파악될 것이라는 것. 어떻게 극복할 것인가 인데원래 ..
성밍쟁
'리눅스' 태그의 글 목록 (2 Page)