일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 802.3
- 802.3 이더넷
- Address Resolution Protocol
- adodb 설치
- AES 암호
- Alternatively build in profile or release modes to enable launching from the home screen
- Android Studio 몰입모드
- Android Studio 몰입모드 설정
- Android Studio 상태바 없애기
- Android Studio 자동 정렬
- android studio 자동정렬
- Android Studio 자동정렬 단축키
- Android Studio 코드 자동정렬
- Android Studio 타이틀바 없애기
- Android Studio 하단 바 없애기
- Android Studio 홈버튼 없애기
- Angler EK
- Angler EK 악성코드
- Angler EK이란
- apache2 tomcat9
- apache2 tomcat9 설치
- apache2 tomcat9 연동
- API
- apk 에러
- apk 오류
- ARP
- arp cache poisoning
- ARP Poisoning
- ARP Request
- ARP 구조
- Today
- Total
목록전체 글 (85)
지나가는 이야기
# 문제 소개 & 간략한 풀이 과정https://app.hackthebox.com/challenges/Suspicious%2520Threat Hack The Box app.hackthebox.com이 문제는 서버에 접속해서 숨겨진 flag를 찾는 유형이다. 단순히 flag가 폴더나 파일 형태로 있는 게 아니라, 기본 명령어의 라이브러리를 이용해 특정 폴더와 파일이 안 보이게 처리된 유형이다. ## 개인적으로 생각하는 문제의 중점문제를 풀면서 리눅스에서 사용하는 ls, cd 같은 명령어도 실제로 라이브러리와 연관되어 있다는 점을 알게 되었다. 또한, 라이브러리를 수정해서 파일을 숨길 수 있다는 새로운 점도 배웠다. # 자세한 풀이 과정 & Flag(영문)https://github.com/accio301..
git을 사용하다 보면 실수 등을 통해 만들어진 커밋 또는 커밋된 전체를 삭제가 필요할 때가 있다. git의 경우 파일을 삭제을 해도 다시 복구를 할 수 있기 때문에 특정 커밋을 삭제하거나 전체를 삭제해야 한다. 이번 글의 경우 커밋을 삭제하는 방법으로 전체를 삭제하는 방법, 최신 커밋 삭제 방법 이렇게 2가지를 설명한다. # 전체 삭제 방법전체 삭제하는 방법은 브랜치를 생성하여 삭제하는 방법이다. $ git checkout --orphan temp_branch # temp_branch 브랜치 생성$ git add -A # 전체 파일 add$ git commit -m "Initial commit" # 커밋$ git branch -D main # 기존 브랜치(main) 삭제$ git bra..
# 문제 소개 & 간략한 풀이 과정https://www.root-me.org/en/Challenges/Forensic/Command-Control-level-2위 문제의 경우 메모리 포렌식으로 메모리 덤프 파일을 분석하여 flag를 찾는 문제이다. 해당 문제를 풀기 위해 volatility 도구를 사용하여 flag를 얻을 수 있었다. ## 개인적으로 생각하는 문제의 중점이 문제를 해결하면서 중요하다고 생각된 부분은 OS 별로 hostname 이 저장된 위치가 다르다는 점과, 해당 PC가 누구 소유인지 알 수 있게 저장된 위치가 어딘지 알고 있어야 분석하는데 도움이 된다는 것이다. # 자세한 풀이 과정 & Flag(영문)https://github.com/accio3014/CTF-Writeups/bl..
# 소개라즈베리파이 여분이 있어 어떤 프로젝트를 할까 고민을 하던 중 Chat GPT를 활용하여 대화형 챗봇을 만들면 어떨까 해서 진행하는 프로젝트이다. 챗봇을 만들게 되면 영어 대화 공부나 다른 용도로 활용할 수 있을 것으로 생각된다. # 필요 도구● 라즈베리파이 4B 4G● SD카드 64G● USB 마이크● USB 스피커● USB 웹캠● Chat GPT Plus● Python위 도구를 통해 만들며 원하는 목표는 카메라를 통한 실시간 대화형 챗봇 이기 때문에 웹캠도 있어야 한다. 그리고 GPT API를 사용하여 통신을 하기 때문에 Plus 유료 계정이 있어야 한다. OS 설치 및 환경 세팅은 다음 글부터 본격적으로 작성된다.
# 서론 AWS를 사용하다 보면 현재 얼마의 비용을 사용했는지 꼭 체크가 필요하다. 그 이유는 갑자기 KEY 유출로 인한 비용 급등 등 예기치 못한 비용 증가를 보다 조기에 발견할 수 있고, 자신이 지금까지 사용한 금액을 보면서 어느 정도 관리를 할 수 있기 때문이다. 현재 텔레그램 봇과 AWS의 람다 함수를 이용하여 비용을 확인하는 것을 채팅으로 자동화할 수 있어 자동화 설정을 해본다. (AWS와 텔레그램 계정이 둘 다 있다는 가정에 진행한다.) # 텔레그램 봇을 이용한 AWS 비용 확인 자동화 자동화로 불러올 정보는 위 사진과 같이, 환율, 현재까지 금액에 대한 정보이다. ## 1. 환율 설정 https://www.exchangerate-api.com/ ExchangeRate-API - Free & ..
화면 디자인을 하면서 띄어쓰기 한 칸 정도를 넣고 싶을 때나, 문자열 앞에 공백을 넣어 디자인 적으로 예쁘게 만들고 싶을 때 문자열에 공백을 주는 방법에 대해 설명하겠다. Text 등은 기본적으로 문자열에 공백을 허용하지만 대표적으로 navigationBarTitle의 경우 문자 시작, 끝에 공백을 넣는 것을 막고 있어, 설명하는 방법은 유니코드를 통해 공백을 주는 방법이다. # 해결 방법 위 사진과 같이 문자열 앞, 뒤에 일반적인 공백을 넣어도 실제 화면에서는 공백을 허용하지 않는다. 이때 공백의 유니코드를 사용하여 공백을 넣을 수 있다. 공백을 표현하는 유니코드를 여러 가지 사용했지만 유일하게 되는 것은 U+2800 이다. 해당 유니코드를 적용하니 위 사진과 같이 공백이 적용된 모습을 볼 수 있다. ..
# 문제 GitHub를 사용 중 명령어를 이용하여 push 했을 때 프로필에서 보이는 contributions에 업데이트가 안 되는 것을 볼 수 있다. 이는 명령어를 사용하여 push 했을 때의 해당하는 것으로 실제 github 사이트를 통해 직접적으로 파일을 업로드하거나 삭제할 때는 정상적으로 contributions이 업데이트가 된다. 위 문제의 경우 여러 개의 github 계정을 사용하는 사람들에게 발생될 수 있는 문제로 해결방법은 간단하다. # 해결 방법 $ git config --global user.name "github username" $ git config --global user.email "github email" 위 명령어를 통해 쉽게 해결할 수 있다. 즉 git의 계정 설정을 다시..
# 문제 Nginx를 이용하여 웹 서버를 구성하던 중 설정을 변경하니 위 사진과 같이 failed (13: Permission denied) 오류가 발생한 모습이 보인다. 해당 오류는 권한에 대한 문제로 발생하는 것으로 권한을 정상적으로 주게 되면 해결할 수 있다. # 해결 방법 해당 문제를 해결하기 전 /etc/nginx/sites-available/default 파일에서 root 디렉토리 경로를 확인한 후 해당 디렉토리의 group 명을 확인한다. (위 사진의 경우 블러 처리된 사진이며, group명이 ubuntu이다.) root 디렉토리의 group명과 /etc/nginx/nginx.conf 파일 내부에 있는 user의 이름을 동일하게 변경해주면 해당 오류는 쉽게 해결할 수 있다. 위 사진들 중 ..
Warning: dart on your path resolves ~~ 위 문제의 경우 MacOS에서 Flutter를 사용하면서 주로 설정을 잘못 건드려 재설치를 할 때 보이는 것으로 정말 간단하게 해결할 수 있는 문제이다. 실제 설치에 오류가 발생하는 것은 아니나 Warning을 해결하기 위한 방법은 매우 간단하다. # 해결 방법 # brew로 설치한 dart 삭제 $ brew uninstall dart 해당 문제의 경우 dart가 중복으로 설치되어 발생한 문제이기 때문에 brew로 설치한 dart를 삭제하면 된다.
# 문제fd 문제의 경우 ssh를 통해 접속하라고 되어 있어 ssh를 이용하여 접속한다. 위 사진은 해당 서버에 접속한 모습으로 리눅스 시스템으로 보인다. 현재 상태를 보기 위해 ls -al 명령어를 사용하니 fd, fd.c, flag 이렇게 3개의 파일이 있으며 특히 flag의 내용을 확인하면 되는 문제로 보인다. 파일 내용을 확인해 보니 권한이 없는 것으로 보여 현재 사용자 및 그룹을 확인해 보았다.결국 확인할 수 있는 파일의 내용은 fd.c이고, 해당 파일을 분석하여 flag를 얻는 것으로 보인다. # 풀이위 사진은 fd.c의 내용으로 c언어로 작성된 것으로 보여 분석하여 flag를 얻어야 한다. ## 소스코드 분석본격적인 소스코드 분석을 하기 전 main() 함수의 인자값에 대해 알아야 한다. ..
실습에 앞서 먼저 기본적인 분석 환경을 준비해야 한다. · Sift-Workstation+Remnux (ubuntu 20.04 LTS) · flare-vm (Windows10 21H2) · commando-vm (Windows10 21H2) 준비할 실습환경은 위와 같으며 본문에서는 이중 Sift-Workstation+Remnux의 설치 방법이다. Sift-Workstation+Remnux 설치 Sift-Workstation와 Remnux는 서로 다른 분석 환경으로 둘 다 우분투에서 설치가능하다. 이번에 설치하는 것은 2개의 분석환경을 따로 두는 것이 아닌 하나의 OS에 설치하여 효율성을 높이기 위함이다. https://www.sans.org/blog/how-to-install-sift-workstatio..
BlueSec는 보안 스터디 내부의 프로젝트(?)로 Blue Team 관점에서 진행하는 것으로 실습 위주의 학습을 진행할 예정이다. 앞으로의 게시물들은 진행 사항 및 설정 등을 다시 한번 볼수 있게 정리하는 글이다.
SwiftUI에서 여러가지 화면을 이동할 때는 NavigationView를 사용한다. 그러나 아이폰에서의 NavigationView와 아이패드에서의 기본 NavigationView는 서로 달라 아이폰으로 실행했을 때의 화면은 아이패드에서 실행했을 때 동일하게 안보이는 현상을 경험한 적이 있어 아이폰과 아이패드에 똑같은 NavigationView를 적용하는 방법에 대해 소개하겠다. (정확하게 아이폰을 대상으로한 NavigationView를 아이패드 환경에서 똑같이 보이게 하는 것) .navigationViewStyle(StackNavigationViewStyle()) 해결 방법은 정말 간단하다. 설정하는 위 코드를 NavigationView에 추가하면 된다. 위 옵션을 사용하게 되면 아이폰에서 보이는 Na..
오류 원인 Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory. Flask 개발을 많이 해보지 않거나 처음 접하는 사람들의 경우 위 오류 문구를 한 번쯤을 보았을 거다. 위 오류를 해결하는 방법에 대해 빠르게 알아보자. 먼저 오류가 발생하는 이유는 문구에서도 확인할 수 있듯이 flask run 명령어를 이용해서 flask 실행 시 주최가 되는 파일의 이름이 wsgi.py 또는 app.py가 아니기 때문이다. 이 문제를 해결하기 위한 방법은 크게 2가지가 있으며 추..
Mac OS를 사용하면서 개발을 할 경우 Java 버전을 변경해야 할 경우가 생긴다. 이런 경우 명령어를 통해 쉽게 변경하는 방법에 대한 글이다. 1. 현재 버전 확인하기 $ java -version 위 명령어를 사용하면 현재 설정되어 있는 Java 버전을 확인할 수 있다. 2. 설치된 버전 확인하기 $ ls -al /usr/libexec/java_home -V 명령어를 통해 현재 PC에는 총 6개의 버전이 설치된 것을 확인할 수 있다. 3. 버전 변경하기 # export JAVA_HOME=$(/usr/libexec/java_home -v 변경할 버전) - 자바 변경하기 $ export JAVA_HOME=$(/usr/libexec/java_home -v 11) # bash shell 사용할 경우 - 변경..
특수문자(기초)의 영문 명칭 정립입니다. 특수 문자 영문 명칭 ` - 홑따음표 grave - 그레이브 ~ - 물결표 tidle - 틸드 ! - 느낌표 exclamation mark - 엑스클레메이션 마크 @ - 골뱅이 at - 앳 # - 샵 hash, pound sign - 해시, 파운드 사인 $ - 달러 dollar sign - 달러 사인 % - 퍼센트 percent - 퍼센트 ^ - 윗꺽쇠 circumflex - 서컴플렉스 & - 앤퍼센트 ampersand - 앤퍼센트 * - 별표 asterisk - 애스터리스트 ( - 괄호 open(left) parenthesis - 오픈 퍼렌씨시스 ) - 괄호 close(right) parenthesis - 클로즈 퍼렌씨시스 - - 빼기 hyphen, minus ..
흔히 외부에서 코드를 복사하여 VSC(Visual Studio Code)에 붙여 넣었을 때 코드가 지저분하여 자동 정렬을 하고 싶은 경우가 있을 것이다. 본문은 VSC 자동정렬 단축키에 대한 설명이다. 먼저 빠르게 단축키만 알려주면 Mac의 경우 ⌘(Command) + K + F 위 단축키를 입력하고, Windows의 경우 Control + K + F 위 키를 입력하면 자동정렬을 할 수 있다. 단 자동정렬 단축키의 경우 사용자가 선택한 영역만 자동정렬한다. 실습 먼저 위 사진과 같이 정렬이 안되어 지저분한 코드에서 Mac : ⌘(Command) + A Windows : Control + A 각 OS에 맞는 단축키를 눌러 전체선택한다. 위 사진은 해당 단축키를 눌러 전체 선택을 한 모습으로 전체 선택이 된..
('https://passing-story.tistory.com/'이하 'passing-story')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2023년 3월 1부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://passing-story.tistory.com/'이하 'passing-story')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 ..
Ubuntu에서 Tomcat9과 MariaDB를 서로 연동해 보겠습니다. Tomcat9의 경우 이미 설치가 되어 있다는 것을 가정하고 MariaDB 설치부터 진행하며 Ubuntu 18.04.6을 기준으로 글 작성하기 때문에 다른 버전에서 같은 세팅을 할 경우 오류가 발생할 수 있습니다. https://passing-story.tistory.com/entry/Linux-%EC%9A%B0%EB%B6%84%ED%88%AC-apache2-tomcat9-%EC%97%B0%EB%8F%99-Ubuntu-apache2-tomcat9-%EC%97%B0%EB%8F%99 [Linux] 우분투 apache2, tomcat9 연동 / Ubuntu apache2, tomcat9 연동 WAS구성 위해 apache2와 tomcat9..
WAS구성 위해 apache2와 tomcat9를 설치하고 서로 연동하는 과정을 설명하겠습니다. 본문은 Ubunut18.04.6을 기준으로 작성했기 때문에 다른 버전을 사용하실 경우 예상하기 못한 오류가 발생할 수 있습니다. + 본문의 경우 단순히 apache2와 tomcat9의 연동을 중심이기 때문에 설정 파일에 대한 설명이 거의 없습니다. apache2 및 tomcat9 설정 파일에 대해 궁금하신 분은 다른 글을 참고하시길 바랍니다. 1. apache2, tomcat9 설치 apache2와 tomcat9를 사용하기 위해서는 먼저 설치해주어야 한다. # apache2 설치 $ sudo apt-get install apache2 -y # tomcat9 설치 $ sudo apt-get install tomc..
이번 글에서는 Linux환경에서 고정 IP 설정하는 방법에 대해 설명하겠습니다. 해당 방법의 경우 Ubuntu18.04.6을 기준으로 작성하는 것이므로 다른 버전에서는 정상적으로 변경이 안될 수 있습니다! (해당 방법은 공식 사이트에서 잘 설명해주고 있습니다) 1. 이더넷 이름 확인 먼저 고정 IP를 어떤 이더넷에 적용할지 알아야 하기 때문에 # IP주소 확인 $ ifconfig 위 명령어를 통해 변경하고자 하는 이더넷 이름을 알아낸다. 위 사지은 해당 명령어를 실행한 후의 모습으로 - 이더넷 명 : ens33 - 변경 전 IP : 192.168.10.130 인 것을 확인할 수 있다. 이제 설정 파일을 수정하여 고정 IP를 설정한다. 2. 설정 파일 수정 고정 IP를 부여하기 위해서는 yaml 파일을 수..
kill 명령어는 프로세스에 명령을 내릴 수 있는 명령어 시그널을 통해 특정 명령을 내린다. 명령어의 종류는 # kill signal 종류 확인 $ kill -l 위 명령어로 확인 가능하며, 시그널 번호 또는 시그널을 입력하여 명령어를 실행할 수 있다. 시그널 번호 의미 번호 시그널 의미 1 SIGHUP 종료 2 SIGINT 인터럽트 종료 3 SIGQUIT 종료 후 코어 덤프 파일 생성 4 SIGILL 잘못된 명령어 신호 5 SIGRAP 디버깅 목적으로 사용되는 신호 6 SIGABRT 중단 신호 7 SIGBUS 프로세스 버스 오류 8 SIGFPE 0으로 나눌 때 발생하여 종료되는 신호 9 SIGKILL 강제 종료 10 SIGUSR1 사용자 정의 조건 신호 11 SIGSEGV 프로세스가 오작동할 때 커널에..
RAID란? RAID는 Redundant Array of Inexpensive Disks의 약자로 쉽게 "레이드"라고 발음하며, 여러 개의 디스크를 한 개처럼 사용할 수 있게 하는 기술을 뜻한다. RAID는 크게 1, 2, 3 등 한 개의 숫자로 된 종류가 있고 숫자를 2개 합친(01) 종류도 있다. RAID 종류 RAID 0 RAID 0는 모든 디스크에 데이터를 똑같이 분할하여 저장하는 방식으로 Striping으로 불린다. 구성 방법 : 최소 2개 이상의 디스크 장점 : 디스크의 수(N) * 1의 성능 단점 : 하나의 디스크에 오류 발생 시 전체 오류, 안전성이 낮음 RAID 1 RAID 1은 개별 디스크에 데이터를 복제하는 방식으로 Mirroring으로 불린다. 구성 방법 : 최소 2개 이상의 디스크..
맥의 iTerm2를 사용하면서 위 사진과 같이 한글로 된 파일이나 폴더의 이름이 분리된 적이 있을 것이다. 본문에서는 해당 문제를 해결하는 방법을 설명하니 똑같이 따라 하면 한글 분리현상을 해결할 수 있다. iTerm2 설정 변경 iTerm2의 설정 변경으로 해당 문제를 해결할 수 있기 때문에 ⌘(Command) + , 위 단축키로 설정화면으로 들어간다. 위 사진은 처음 설정된 모습으로 Unicode normalization from이 None로 설정되어 있다 해당 설정을 변경하여 한글 분리 현상을 해결할 수 있다. + 추가적으로 한글 자체가 깨지는 경우 아래 Font를 MesloLGS NF로 변경하면 된다. 위 사진과 같이 Unicode normalization from의 설정을 NFC로 변경을 하면 ..
Module 'url_launcher_ios' not found 플러터를 이용하여 ios 빌드를 할 때 위 오류 또는 Module 오류가 있는 것을 볼 수 있다. 해당 오류를 해결하기 위해서는 아래 명령어를 입력하면 된다. 오류 해결법 cd ios/ pod update pod repo update pod install 위 명령어를 입력하면 다시 정상적으로 작동되는 것을 확인할 수 있다.
플러터로 앱을 실제 아이폰에 설치한 후 연결 케이블을 제거한 뒤 앱을 실행하면 위와 같은 에러 문구가 보일 것이다. 다시 정상적으로 작동하게 만들려면 아래와 같이 하면 된다. Xcode -> Product -> Scheme -> Edit Scheme 설정 변경 위와 같이 해당 플러터 프로젝트를 Xcode를 실행한 후 [Product] -> [Scheme] -> [Edit Scheme...]를 클릭한다. Build Configuration -> Release 변경 위는 [Edit Scheme...]를 클릭한 후의 모습으로 사진과 동일하게 Build Configuration을 Release로 변경하면 된다.
VSC(Visul Studio Code)에서 확장자가 md(마크다운)인 파일을 미리 보는 방법을 설명하겠습니다. VSC에서 지원하고 있는 확장 기능을 통해 손쉽게 미리보기를 볼 수 있습니다. Extensions에서 "Auto-Open Markdown Preview" 설치 위 사진과 같이 vsc의 확장 기능에 들어가 검색 창에 "Auto-Open Markdown Preview"를 검색하여 제일 상단에 있는 것을 설치한다. md 파일 확인하기 해당 확장 기능을 설치할 후 md 파일을 확인해 보면 위 사진과 같이 옆에 미리보기가 제공된 것을 확인할 수 있다.
모의 해킹을 하는 이유는 실제 환경이나 서버를 공격하는 것은 불법이기 때문에 가상의 환경을 만들어 해킹을 연습하기 위해서이다. 본문은 이러한 모의 해킹 과정을 진행하기 전 실습 환경을 설치 및 설정한다. VM 설치 vm을 설치하는 이유 실제 환경에서 공격을 하게 되면 불법이기 때문에 가상의 환경에서 실습을 하기 위함이다. 가상 환경을 구성하기 위한 대표적인 방법은 Vmware와 Virtualbox 두 개가 있다. 여기서는 Vmware를 이용한 가상 환경을 구축할 것이다. https://www.vmware.com/latam/products/workstation-player/workstation-player-evaluation.html Download VMware Workstation Player | VMw..
리눅스를 쓰다 보면 시간 설정을 잘못한 경우 시간을 현재 위치에 맞게 수정할 때가 있다. GUI 환경에서는 손쉽게 해결할 수 있지만 간혹 버전에 따라 시간을 변경하는 것이 숨겨진 경우가 있어 명령어를 통해 시간을 변경하는 방법에 대해 설명하겠습니다. timedatectl 명령어 사용 $ timedatectl set-timezone [지역/도시] [예시 - 한국 시간대로 변경] $ sudo timedatectl set-timezone Asia/Seoul 위 명령어를 통해 쉽게 시간대를 변경할 수 있다. 만약 다른 나라의 시간대로 변경하고 싶으면 지역 및 도시를 원하는 국가에 맞게 설정하면 된다.
vi 편집기를 사용하다 보면 특정 문자 및 문자열을 찾을 때가 있다. vi 편집기 내부 명령 모드를 통해 손쉽게 찾고자 하는 문자열을 찾을 수 있다. 1. vi 편집기를 열고, ESC키를 누룬 후 : 을 입력하여 명령어 모드로 진입 2. / 또는 ? 이용하여 문자열 찾기 :/검색할 문자열 => 현재 커서 아래로 검색 [예시 - passing-story 문자열 검색] :/passing-story / 는 현재 커서를 기준으로 아래로 해당 문자열을 찾는다. :?검색할 문자열 => 현재 커서 위로 검색 [예시 - passing-story 문자열 검색] :?passing-story ?는 현재 커서를 기준으로 위로 해당 문자열을 찾는다. 3. 계속 찾기 파일 속에 해당 문자열이 여러개 있는경우 계속해서 찾을 수 있..