서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용aws 우분투 서버 하나 파서 연습심볼릭링크 개념, 생성, 삭제 심볼릭 링크(Symbolic Link)란?2024.11.04 - [KnockOn] - [KnockOn] Linux/Ubuntu 운영체제 명령어 -1 [KnockOn] Linux/Ubuntu 운영체제 명령어 -1서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용aws 우분투 서버 하나 파서 연습which, pwd, ls, cat, more, less, echo, head, tail, grep, ifconfig which지정한 명령어의 실행 파일의 경로를 출력즉, 사용자가 입력한taesan-smj.tistory.com 이전 글에서도 한 번 언급되었었지..
전체 글
성밍쟁 공붕방서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용절대경로, 상대경로리눅스 디렉터리 구조명령어 예제도전사용자 지정 명령어 만들기 절대경로 vs 상대경로파일 시스템 내에서 특정 파일이나 디렉터리의 위치를 나타내는 방식이다. 이 두 개념은 파일이나 디렉터리 간의 경로를 이해하고 작업할 때 중요한 개념이다. 절대경로는, 실제 파일의 절대적인 위치를 의미한다. 그러기에 전체 경로를 나타내므로, 시작 위치에 관계없이 언제나 같은 위치를 가리킨다. 흔히 우리가 아는cd /home/ubuntu/이렇게 / 루트 디렉터리부터 해당 디렉터리 또는 파일이 어디에 있는지 나타낼 때 사용한다. 그렇다면 상대경로는?상대적인 위치를 의미한다. 현재 작업 중인 디렉터리(현재 위치)를 기준으로 파일이나 디렉터리의..
서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용aws 우분투 서버 하나 파서 연습파일기술자, 리다이렉트 파일 기술자 (파일 디스크립터)운영체제가 특정 파일에 할당해주는 정수값 이다. 키보드, 모니터 이런 것도 실질적으로 운영체제는 파일이라고 인식하고, 정수값을 할당해준다. 이 숫자를 통해 프로세스는 파일이나 입출력 스트림을 식별하고, 파일을 읽거나 쓸 수 있는 권한을 부여받는다. stdin(표준입력) : 0 -> stdout(표준출력) : 1stderr(표준에러) : 2이렇게 0~2까지는 이미 기본적으로 할당이 되어있고,0번은 보통 키보드, 1번 2번은 모니터가 할당되어 있다.우리가 파일을 새로 작성하거나 만들때는 3부터 할당받는다. 리다이렉션(Redirection)명령..
서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용aws 우분투 서버 하나 파서 연습sudo, mkdir, touch, cp, rm다중명령어 : ;, &&, ||, &cli, shell, /bin/sh, /bin/bash sudo일시적으로 다른 사용자(주로 관리자)의 권한으로 명령어를 실행할 수 있게 해주는 명령어인데, 보통 시스템 관리자 권한(root)으로 특정 명령어를 실행해야 할 때 사용한다.한 번 실행할 때마다 사용자의 비밀번호를 입력하도록 요구할 수 있고, 로그에도 남아서 누가 root 권한을 가지고 실행했는지 파악이 가능하다. 이렇게 하는 이유는 임시적으로 루트권한을 잠시 부여해주는 거기에...보안 강화이다. 잘못된 명령어 루트원한으로 치면...예를 들어 rm -rf /..
서론ELITE HACKER Bootcamp 3rd 1주차 수업 공부 내용aws 우분투 서버 하나 파서 연습which, pwd, ls, cat, more, less, echo, head, tail, grep, ifconfig which지정한 명령어의 실행 파일의 경로를 출력즉, 사용자가 입력한 명령어가 시스템 내에서 어디에 위치해 있는지를 알려주는 역할 pwd(Print Working Directory)현재 작업중인 디렉터리의 절대 경로가 터미널에 출력pwd에 크게 2가지 옵션이 있다.pwd -Lpwd -P-L의 경우에는 Logical의 약자로 기본 디폴트값이다. 현재 쉘 환경에서 설정된 경로를 기준으로 출력한다. 심볼릭 링크가 있을 경우 해당 링크 경로를 유지하며 출력한다.-P의 경우에는 Physical..
프롤로그하루 한 문제씩 드림핵을 풀기에는 지금, 한 문제 푸는 데에 너무 오래걸린다.할 일은 많은데, 그래서 다른 워게임들도 풀어보려고 찾았고, webhacking.kr를 찾아서 풀어보려고 한다.1번 문제는 풀었으나, 너무 쉬웠어서 2번문제 부터 풀려고 한다. 문제 및 소스코드처음 들어갔을 때는 그냥 검정화면에, view-source 가 보인다view-source를 누르면view-source 풀이전략사이 부분을 보면파라미터로 admin을 입력이 되면 문제가 풀릴 것이다. 다만 그 위에, 파라미터로 admin이 입력되면 no!가 입력이 될 터이니 그것을 우회해야한다. 풀이과정https://webhacking.kr/challenge/web-11/?id=admin를 맨 처음에 입력해보자.no!가 출력이 되..
프롤로그시간이 부족해 문제https://dreamhack.io/wargame/challenges/343 [wargame.kr] tmitterDescription you need login with "admin"s id! create table tmitter_user( idx int auto_increment primary key, id char(32), ps char(32) );dreamhack.io 코드는 따로 주어지지 않았다 코드처음 입장했을 때 이렇게 존재하고, 소스코드는 TMITTER is not fake twitter! :p have an account? New to Tmitter? ID PS 여기서 확인할 수 있다. 그리고 문제조건에서 나온..
프롤로그학회 때문에 바빠죽겠는데 할 건 해야지.. 문제https://dreamhack.io/wargame/challenges/931 random-testDescription 새 학기를 맞아 드림이에게 사물함이 배정되었습니다. 하지만 기억력이 안 좋은 드림이는 사물함 번호와 자물쇠 비밀번호를 모두 잊어버리고 말았어요... 드림이를 위해 사물함 번호와dreamhack.io드림이는 바보야.. 코드#!/usr/bin/python3from flask import Flask, request, render_templateimport stringimport randomapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read() # flag is ..
프롤로그워게임 Error based SQL Injection 을 풀면서, SQL Injection에는1. Error Based SQL Injection: GET/POST/HTTP헤더/쿠키 등에 ' or ; 삽입시 SQL 관련 에러를 통해 DB의 정보를 예상(1) '을 넣어서 Error based SQL Injection이 뜨는지 확인(2) ' and db_name() > 1 -- 로, 등으로 DB명 확인(3) 칼럼명 확인 2. Union Based SQL Injection: 공격자가 Union을 이용하여 원래의 요청에 추가 쿼리를 삽입하여 정보를 얻어내는 방식-> Union쿼리는 앞에거랑 필드개수가 같아야함' union select 1, 2, 3, 4, 5, 6# 이런식으로 사용 3. Blind bas..
문제https://dreamhack.io/wargame/challenges/1186 what-is-my-ipDescription How are they aware of us even behind the wall? FYI Flag Location: /flag Flag Format: DH{...}dreamhack.io 소스코드#!/usr/bin/python3import osfrom subprocess import run, TimeoutExpiredfrom flask import Flask, request, render_templateapp = Flask(__name__)app.secret_key = os.urandom(64)@app.route('/')def flag(): user_ip = reques..
프롤로그하루 1 워게임 도전중 문제소스코드를 다운받아도, 아무것도 없길래 일단 넘어가겠다. 그래서 사이트를 접속하게 되면get source 부분이 있는데 저것을 클릭하면 소스코드"; echo "FLAG : ".$FLAG; } }else{ echo "wrong.."; } }?>IDPW get source 코드 분석맨 밑에 주석처리되어 있는 you have blocked accounts.guest / guestblueh4g / blueh4g1234ps이게 아마 아이디, 비밀번호일것이다. isset($_POST['id']) && isset($_POST['ps'])여긴 POST 요청으로 아이디, 비밀번호가 요청된 게 있는 확인하는 곳mysqli_connect("localhost", $DB_u..
프롤로그CSRF 관련된 풀이는 오랜만이라서 개념부터 다시 정리하고, 이전 CSRF-1번 문제 되돌아보면서 이 CSRF Advanced 문제를 풀어보자 CSRF교차 사이트 요청 위조(Cross Site Request Forgery)쿠키 또는 세션을 사용해 이용자를 식별하는데, 임의 이용자의 쿠키를 사용할 수 있다? 그러면 임의 이용자의 웹 서비스 기능을 사용할 수 있다.CSRF는 임의 사용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점이다. CSRF 공격에 성공하기 위해서는 공격자가 작성한 악성 스크립트를 이용자가 실행하여야함.-> 메일/게시판에 글을 작성해 이용자가 이를 조회하도록 유도 IMG 태그나 FORM 태그로 요청보내면 세션아이디값이 같이 간다중요한건CSRF는 이용자가 임의 페..