Web
apache2 낮은 버전 서버 수동 설치
apache2에 관련된 원데이 분석을 하기 위해서 취약한 서버를 올리고자 했다.apr, apr-util, pcre 설치를 선행하고 원하는 버전의 apache2를 설치하는 방법에 대해 정리한다. apr 설치 Index of /dist/apr archive.apache.org$ sudo apt-get install libapr1 libapr1-dev$ cd /usr/local$ wget https://archive.apache.org/dist/apr/apr-1.7.0.tar.gz$ tar xvfz apr-1.7.0.tar.gz$ cd apr-1.7.0.tar.gz$ ./configure --prefix=/usr/local/apr$ make && make install위 명령어 수행시 다음과 같은 에러가 뜬..
[Node.js] pm2 모듈 사용법 - 무중단 서비스 올리기
프로젝트를 진행하면서 AWS에 웹 사이트를 올려야 하는 상황이 있었다. 해당 사이트를 vue.js로 개발했는데, 이를 AWS에서 계속 올려두어야 했다. 그냥 백그라운드에서 실행하는 것보다 pm2 모듈로 프로세스를 관리하면 여러 장점이 있는데, 생각보다 편리하고 좋았어서 사용 방법을 간단히 정리하고자 한다. PM2란? node.js 어플리케이션 관리를 도와주는 Process manager이다. 프로세스를 올려두면, 항상 모니터링 하고 있을 수 없기 때문에 PM2라는 모듈을 이용하면 간단한 설정으로 인해 쉽게 여러 프로세스들을 관리할 수 있다. 특징 및 장점 프로그램이 예기치 못한 종료가 발생하거나 코드가 수정되었을 때 프로세스를 다시 올려준다. 실행중인 프로세스를 한번에 확인할 수 있다. 싱글 스레드 기반..
MYSQL 명령어 실습
IndexSQL 실습 (CRUD, SELECT)SQL 접속DB 목록 확인 및 사정테이블 생성테이블 필드 정보 조회테이블에 레코드 추가테이블 조회조건문을 통한 테이블 조회데이터 수정레코드 삭제산술 연산자비교 연산자논리 연산자비트 논리 연산자연결 연산자 - concat연결 연산자 - in연산자연산자 - LIKE 연산자함수 - substring, substr, mid (ORABLE: SUBSTR, SUBSTRB)함수 - ascii이중 select 구문 (서브 쿼리)함수 - concat함수 - count/length함수 - case when, if이중 select 구문 - 2 (서브 쿼리)정렬 구문필드순서를 기준으로로 정렬게시판 검색 기능에 union sql injection정렬 방식 정하고 데이터 추출입력된 ..
[DVWA] CSP 문제풀이
IndexCSP (Content Security Policy)lowmediumhighimpossibleCSP (Content Security Policy)CSP는 XSS 및 Injection 공격을 탐지하고 완화하기 위해 도움을 주는 보안 계층이다. HTTP 헤더를 기반으로 정책을 추가하는 방식이다.해당 low 레벨 문제에서는 특정 URL을 받아 include하는 폼이 있다.low
[DVWA] CSRF 문제풀이
IndexCSRFlowmediumhighimpossibleCSRFCSRF 탭에는 패스워드를 변경하는 폼이 작성되어 있다. 그리고 Test Credentials로 계정의 비밀번호가 맞는지 확인할 수 있다. CSRF 공격을 통해 일반 사용자가 원치 않게 비밀번호가 수정되는 것을 실습한다. low
[Webgoat] XSS 문제풀이
IndexWebgoat 설치Webgoat 서버 실행2번 문제7번 문제10번 문제11번 문제 Webgoat 설치https://github.com/WebGoat/WebGoat/releases/tag/v8.2.2 Webgoat 서버 실행java -jar webgoat-server-8.2.2.jar 2번 문제XSS가 발생한다면, 클라이언트 사용자의 쿠키 값을 탈취할 수 있다는 것을 확인할 수 있다. 또한, 두개의 탭을 이용하여 콘솔 창에 을 입력해보니, 신용 카드 번호 입력 창에서 XSS 가 발생한 것을 확인할 수 있다.문제 7 클리어! 10번 문제먼저, DOM이란 웹 브라우저가 HTML 페이지를 인식하는 방식을 의미한다. tree 형식으로 태그들이 존재하기 때문에, 키워드를 통해 필요로 하는 작업을 동적으로 ..
[LOS] Level5 wolfman 풀이
Lord of SQLInjectionhttps://los.rubiya.kr/ Level5 : wolfman if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");pw 파라미터의 값에 공백이 막혀있다. ?pw=' or id='admin'%23공백 대신 tab을 이용해서 공백처럼 사용할 수 있다. tab의 url 인코딩 값은 %09이다.?pw='%09or%09id='admin'%23 Uploaded by N2T