본문 바로가기

전체 글131

Servlet Servlet동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다.Dispatcher ServletHTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임(보내다=dispatch) 해주는 프론트 컨트롤러(Front Controller)라고 정의할 수 있다.이것을 보다 자세히 설명하자면, 클라이언트로부터 어떠한 요청이 오면 Tomcat(톰캣)과 같은 서블릿 컨테이너가 요청을 받게 된다. 그리고 이 모든 요청을 프론트 컨트롤러인 디스패처 서블릿이 가장 먼저 받게 된다. 그러면 디스패처 서블릿은 공통적인 작업을 먼저 처리한 후에 해당 요청을 처리해야 하는 컨트롤러를.. 2024. 8. 9.
CS 정리 보호되어 있는 글 입니다. 2024. 8. 6.
[JAVA] 코테 정리 보호되어 있는 글 입니다. 2024. 7. 15.
[Jenkins] REAEME.md 에 블로그 최신 글 가져오기 GitHub Readme에서 Latest Blog Post 부분에 Tistory에 작성한 글을 불러오고 싶었다. 그래서 Tistory에 글 작성 시 자동으로 GitHub의 README 파일을 업데이트 하도록 Jenkins를 이용해보려 한다. Tistory에서 글 작성 시 자동으로 Jenkins가 실행되도록 하기 위해 Webhook을 설정해야 한다. 하지만 Tistory는 공식적으로 Webhook 기능을 제공하지 않지만, Tistory RSS 피드를 정기적으로 검사하여 Jenkins 트리거하는 방식으로 설계했다.     1. 플러그인 설치Jenkins에서 GitHub와의 효과적인 연동을 위해 필요한 플러그인을 설치한다.GitHub Integration과 HTTP Request 플러그인 설치 플러그인 설치 .. 2024. 6. 10.
[시큐어 코딩] 파라미터 조작과 잘못된 접근제어 취약점 action=edit&id=lee&name= 파라미터 조작과 잘못된 접근제어 취약점관리자 페이지와 같이 인가된 특정 사용자만 사용 가능한 페이지에 대해 올바른 접근권한 레벨을 정의하고 점검하는 프로세스가 제대로 적용되지 않은 경우에 발생하는 취약점이다.네트워크 접근이 가능한 내부/외부 사용자는 모두 공격자가 될 수 있다. 인증을 통해 시스템 접근이 허락된 공격자는 URL이나 파라미터를 조작해 권한(Authorization)이 필요한 기능에 접근할 수 있다. 이 경우 시스템이 인가된 사용자에 대한 접근권한을 제대로 체크하지 않는다면 허가되지 않은 기능을 수행할 수 있게 된다.애플리케이션의 특정 기능에 대한 접근 권한에 대한 체크가 제대로 이루어지지 않은 경우에 인가되지 않은 기능 접근 및 관리자 기능이 주.. 2024. 6. 2.
[시큐어 코딩] 파일 업로드/다운로드 취약점 파일 업로드/다운로드 취약점파일을 업로드하고 다운로드하는 기능들이 적절히 제어되지 않을 때 웹쉘이나 악성코드가 업로드되어 서버에서 실행될 수 있으며, 악성코드가 삽입된 파일을 사용자들이 다운로드받아서 실행하여 사용자 PC가 침해사고를 당할 수 있다.  발생 원인업로드기능 취약점 원인업로드되는 파일의 타입을 제한하지 않는 경우업로드되는 파일의 크기나 개수를 제한하지 않는 경우업로드된 파일을 외부에서 직접적으로 접근 가능한 경우업로드된 파일의 이름과 저장된 파일의 이름이 동일해 공격자가 파일을 인식 가능한 경우업로드된 파일이 실행권한을 가지는 경우다운로드기능 취약점 원인파일에 대한 접근권한이 없는 사용자가 직접적인 경로를 통해 파일을 다운로드할 수 있는 경우악성코드에 감염된 파일이 다운로드 허용되는 경우  .. 2024. 6. 2.
[클라우드] 11. Private Cloud (OpenStack) OpenStack (오픈스택)클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기 위해 사용하는 오픈소스 소프트웨어 프로젝트의 집합 OpenStack은 Public 클라우드와 Private 클라우드 구축을 가능하게 하는 오픈 소스 SWOpenStack은 서버, 스토리지, 네트워크들과 같은 자원들을 모두 모아, 이들을 제어하고 운영하기 위한 클라우드 OSOpenStack은 오픈 소스를 기반으로 클라우드를 구축하고 운용하고자 하는 오픈 소스 개발자, 회사, 사용자들이 주축이 되어 발전하는 커뮤니티IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로 컴퓨팅, 스토리지, 네트워킹 자원을 관리하는 여러 개의 하위 프로젝트들로 이루어짐 OpenStack 두가지 주요 툴DevStack복잡한 오픈스택 시.. 2024. 5. 29.
[클라우드] 10. Public Cloud (AWS, Azure, GCP) 퍼블릭 클라우드클라우드 플랫폼 • Amazon Web Services (AWS) • MS Azure • Google Cloud • NHN Cloud (오픈스택 기반) 퍼블릭 클라우드 선택 시 고려사항신뢰도 • 믿을 수 있는 클라우드 플랫폼? → 보안, 서비스 종류 및 실제 고객의 피드백 참고안정성 평가 • 정기 릴리즈, 가용성, 성능, 로드 밸런싱 등 확인 필요규모의 경제 • 사내 인프라와 클라우드 리소스를 활용했을 때의 비용 비교표준화된 서비스 • 클라우드 플랫폼이 비용 효율을 가져다 줄 수 있는 서비스 묶음, 리소스 제공하는가?유연성 평가 • 현재 수준에 필요한 기능 이상의 서비스를 고려 (제품의 향후 로드맵) Amazon Web Services (AWS)클라우드 플랫폼 중 가장 오래됨  그 만큼 신.. 2024. 5. 26.
[시큐어 코딩] XSS(크로스 사이트 스크립팅) XSS공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것을 뜻한다.  XSS 공격유형Reflective XSS공격자가 악성 스크립트가 포함된 URL을 클라이언트에 노출시켜 클릭을 유도하고, 쿠키 정보를 탈취하거나 피싱 사이트, 불법 광고 사이트로 이동하게 만든다.서버에서 사용되는 외부 입력값 name이 안전한 값인지 검사하지 않고 사용되는 경우 XSS 취약점이 있는 처리 구조이다. Reflective XSS 취약점 공격 처리 흐름인데 공격자가 악성 스크립트를 입력값으로 전달하도록 만들어진 URL을 사용자가 클릭하도록 유도하고 이 URL을 사용자가 클릭하면 해당 스크립트가 a.com서버의 ha.do .. 2024. 5. 26.
[시큐어 코딩] XPath 삽입(Injection) XPath 삽입XPath는 XML 문서에서 특정 요소(element)나 속성(attribute)까지 도달하기 위한 경로를 요소의 계층을 이용해서 표현하는 것이다. 파일경로와 비슷하며, 파일 경로에 절대 경로와 상대 경로가 있는 것처럼, XPath도 루트 요소(Root element)부터 특정 요소까지의 경로를 지정하거나 현재 위치하고 있는 요소부터 특정 요소까지의 경로를 지정할 수 있다.아래 사진을 보는 것처럼 XML 문서는 트리 구조로 모델링해 표시할 수 있다. 예를 들어서 prduct id=3인 제품의 가격정보를 출력하기 위한 XPath 표현식은 /catalog/product[@id=3]/price 이다.  발생 원인외부로부터 입력된 값을 이용해 XML 파일의 내용을 검색하기 위해 XPath 쿼리문을.. 2024. 5. 26.