Study

· Study/Python
Tensorflow를 이용해 Object Detection 모델을 학습(train)하고 사용하는 것을 쉽게 도와주는 오픈소스 프레임워크 (이하 TF ObDe API) API 설치 해당 API를 사용하기 위해 Tensorflow를 먼저 설치해줘야 한다. 포스팅에서는 Windows 10에 설치했다. 공식 가이드 : 공식 git, Readthedocs 설치 환경 - Windows 10 Pro - Anaconda 22.9.0(python 3.9) - tensorflow 2.10 - protoc 22.0 - Visual Studio 2022 1. python 가상환경 제작 # 가상환경 생성 conda create -n [가상환경 이름] python==[python 버전] # 가상환경 목록 보기 conda env ..
· Study/Server
가상화 물리 하드웨어 시스템에서 여러 시뮬레이션 환경이나 전용 리소스를 생성하는 기술, 논리적으로 격리된 환경을 생성하는 것이 핵심이다. 하나의 물리 시스템에서 복수의 시스템(서비스)을 구동하는 것, 하드웨어 요소(CPU/메모리/디스크)를 논리적으로 분리하고 각 가상화된 서버별로 분배해 줌으로써 서버를 구동시킨다. 이러한 가상화는 그렇게 최근에 등장한 기술은 아니나, PC의 하드웨어적 스펙이 비약적으로 발전함에 따라 가상화를 안정적으로 활용할 수 있게 되어 근래에 주목받고 있다. 기존에는 하나의 서버에 하나의 OS만 설치해 사용하는 구조를 이용했다고 한다. 그에 따라 각 서비스마다 하나의 물리적 서버가 필요했고, 그에 따라 낭비되는 하드웨어 리소스가 가상화로 하나의 서버에 여러 OS를 설치하게 되어 하드..
· Study/CVE
CVE-2021-41773 [Apache HTTP Server Path Traversal & RCE] 요약 : 경로 탐색 공격에 쓰이는 문자열에 대한 미흡한 정규화 조치로 인한 경로탐색 및 추가적인 잘못된 환경 설정으로 인한 원격 코드 실행 취약한 버전 Apache HTTP Server 2.4.49 선행조건 httpd.conf내의 Directory directive 설정이 Required all denied 되어있지 않음 (Required all granted거나 Require 구문이 없음), RCE의 경우 mod_cgi가 enable되어 있어야함 mod_cgi - Apache HTTP Server Version 2.4 httpd.apache.org 분석 [Path Traversal] path trave..
· Study/Server
Docker hub에서 이미지를 pull해와서 컨테이너를 관리하는 부분까지 해봤다. 이제는 Dockerfile로 직접 내 이미지를 만들어보자 Dockerfile Docker 이미지를 생성하기위한 스크립트 파일로, Dockerfile 작성 후 build하면, 파일의 내용대로 한 명령어씩 실행되어 환경을 갖춘 이미지가 생성된다. Dockerfile만 작성해두면 어느 환경에서든 빌드를 통해 같은 이미지를 생성할 수 있고, 이미지 구축에 어떤 명령어가 실행되었는지도 파악하기 편리하다. tomcat, APM, Spring 등 웹서비스를 띄울 때, Dockerfile의 편리성이 드러난다. docker hub에 배포된 설치 이미지를 받아 내가 작성한 App을 바로 Copy하도록 Dockerfile을 작성만 해두면 빠..
· Study/Server
이전 포스팅에서 간단하게 docker 설치를 마쳤다. 이번에는 이 docker에 환경을 올려보자 docker를 이용하기 위해서 컨테이너와 이미지라는 개념을 살짝 알아두어야 하는데, docker의 동작 방식을 먼저 보자 가상환경을 구축한다는 점에서 docker는 Virtual Machine(VM)과 항상 비교된다. docker는 VM과 달리 Guest OS가 설치되지 않는다. 즉, docker는 Guest OS가 없어 Host OS의 커널(linux)을 공유해, 격리된 공간에서 프로세스가 동작하는 방식이다. 그러므로 VM보다 훨씬 가볍고, 끄고 켜는 동작들도 빠르다. 여기서 격리된 공간에서 동작하는 프로세스가 컨테이너다. 각각 독립적으로 실행돼서 다른 프로세스들에 영향을 주지 않는다. 백그라운드로 돌릴수도..
· Study/Server
CVE 연구를 하다보면 해당 취약점에 취약한 환경을 구성하는 일부터 시작하게된다. 몇번 하다보면 정말 환경 세팅만큼 귀찮은게 없다는 걸 알 수있는데, 이런 환경 구축을 케이크먹듯 간편하게 할 수 있는게 바로 도커(docker)다. 가상머신처럼 독립된 프로세스(컨테이너)를 실행시킬 수 있는 도구 도커의 개념을 간단하게 얘기하자면 이런데, 가상머신을 띄워주는 도구정도로 생각하면 편하다. 컨테이너라는 개념이 보이는데, 이는 다음에 환경 구축할 때 부터 알아보고 우리의 친구, 우분투에서 설치하는 방법을 알아보자 apt로 설치하는 방법과 설치 스크립트를 다운받아 설치하는 방법이 있는데 아무거나 해도 무방하다 1. apt sudo apt update && sudo apt upgrade sudo apt install..
· Study/Python
이번에는 지난번 인사 명령에 이어 명령어를 더 추가하고 Embed에 대해서 알아보도록 하겠다. 새로 만들 명령은 주사위로, 예전 게시판 웹사이트를 보면 댓글로 많이 들어가 있었던 기능이다. @bot.command(aliases=['주사위']) async def roll(ctx, number:int): await ctx.send(f'주사위를 굴려 {random.randint(1,int(number))}이(가) 나왔습니다 (1~{number})') 3줄 남짓의 짧은 코드다. 이번 명령어는 단순히 명령어 하나만 입력받는 것이 아니라 매개변수를 하나 더 받는다 이와 같이 매개변수를 입력받고자 할때는 ctx 뒤에 매개변수 명을 써주자 @bot.command() async def repeat(ctx, *, txt)..
· Study/Python
게임하느라 디스코드를 쓰는 중에 '봇'을 사용하는 친구가 있었다. 명령어를 써서 노래도 틀고, 디스코드 서버 관리도 하는걸 보니 꽤 재미있어 보였다. 마침 파이썬도 배우는 참이라 삘받아서 만들어 보았다. 디스코드 봇을 만드는 언어는 여러종류가 있는데 가장 많이 쓰는 언어로는 크게 2가지가 있다고 한다. Node.js와 파이썬, 이 두가지인데 필자는 Node.js를 아직 다뤄본적이 없으므로 파이썬으로 만들기로 했다. 먼저 디스코드 개발자 페이지로 로그인해서 봇을 만들어줘야 한다. (discord.com/developers/) 로그인해서 들어간 후, Applications에서 New Application Application의 이름을 만들고 생성하면 My Application에 새롭게 추가가 된다 Gener..
Omoknooni
'Study' 카테고리의 글 목록 (6 Page)