본문 바로가기

분류 전체보기

(53)
XSS(Cross Site Scripting) 공격 및 대응 방법 크로스 사이트 스크립트(XSS) 공격 XSS 공격이란? 웹 페이지에 악의적인 스크립트를 포함해 사용자 측에서 실행되게 유도할 수 있는 공격 기법 ① 공격자가 악성 스크립트 파일을 웹 서버에 설치 ② 클라이언트에서 악성 스크립트가 설치되어 있는 웹 브라우저 실행 ③ 웹 서버의 악성 스크립트 실행되어 클라이언트(사용자) 감염, 감염 후 개인 정보 등 공격자에게 유출 XSS 공격의 시큐어 코딩 구현 외부 입출력값에 스크립트가 삽입되지 못하도록 & " ' / ( ) 등에 대해 문자열 치환 함수를 구현한다. XSS의 3가지 공격방법으로 Reflected XSS, Stored XSS, DOM XSS가 있다. 구분 코드 및 설명 조치 전 ----- ① 검색결과 : ${m.content} ----- ② ① 외부 입력값..
SQL Injection(삽입) 공격 SQL Injection 공격 SQL Injection 공격이란? 웹 애플리케이션에서 입력데이터에 대한 유효성 검증을 하지 않을 경우, 공격자가 입력 창 및 URL에 SQL 문을 삽입하여 DB로 부터 정보를 열람, 조작할 수 있는 취약점 공격기법 SQL 삽입 공격 시큐어 코딩 조치 안전하지 않은 코드의 예로 외부로부터 입력받은 카테고리의 값을 아무런 검증과정을 거치지 않고 SQL 쿼리를 생성하는데 사용하고 있다. 매개변수를 받는 PreparedStatement 객체를 상수 문자열로 생성하고 파라미터 부분을 setString 등의 메서드로 설정하여 외부의 입력이 쿼리문의 구조를 바꾸는 것을 정의한다. 구분 코드 및 설명 조치 전 String category = request.getParameter("cat..
블랙박스 테스트/화이트박스 테스트 화이트박스 테스트 프로그램 내부 로직을 보면서 수행하는 테스트 화이트 박스 테스트는 내부 구조를 기반으로 문장 검증, 경로 검증 등을 수행한다. 유형 설명 제어구조 테스트 소프트웨어의 논리적 복잡도 측정 후 수행 경로들의 집합을 정의하는 테스트 루프 테스트 프로그램의 루프 구조에 국한해서 실시하는 테스트 화이트박스 테스트는 구조 테스트라고도 하며 구문 커버리지, 결정 커버리지, 조건 커버리지, 조건/결정 커버리지, 변경 조건/결정 커버리지, 다중 조건 커버리지 테스트를 포함한다. 블랙박스 테스트 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트 유형 사례 설명 동등 분할 테스트 입력 데이터의 영역을 유사한 도메인별로 유효 값/무효 값을 그룹핑하여 대표값 테스트 케이스를 도출하여 테스트하는 기..
JSON 이란? 1. JSON(JavaScript Object Notation) 개념 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 을 위해, 넓게는 XML을 대체하는 주요 데이터 포맷이다. 2. JSON의 사용 이유 JSON은 네트워크 연결을 통해 데이터를 주고 받을 때 직렬화하여 전송할 수 있고 브라우저를 포함한 Javascript기반 응용 프로그램을 개발할 때 사용됩니다. 또한 Web서비스 또는 Open API에서 공개데이터를 제공할 때 JSON을 사용합니다. 3. JSON(JavaScript Object Notation) 형식 3.1 name-value 형식의 쌍 - 여러 가지 언들에서 obje..
WSDL / SOAP / UDDI 개념 WSDL(Web Services Description Language) 웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다. SOAP(Simple Object Access Protocl) 일반적으로 널리 알려진 HTTP, HTTPS, SMTP등을 사용하여 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜이다. SOAP는 XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계되어 있다. 헤더는 선택사항으로 반복이나 보안 및 트랜젝션을 정보로 하는 메타 정보를 가지고 있다. 바디 부분은 주요한 정보인 정보를 가지고 있다. UDDI(Universal des..
GET방식 POST방식 비교 및 차이 사용자가 어떤 홈페이지로 이동하기 위해서 URL을 브라우저 주소창에 작성하고 엔터를 누르면 원하는 페이지로 이동합니다. 사용자는 단순히 URL(Uniform Resource Locator)을 입력하였을 뿐이지만 서버 내부에서는 클라이언트의 요청에 응답(웹페이지로 표현)하기 위해서 처리를 해주어야 합니다. 여기서 클라이언트가 서버로 요청을 보내는 방법인 HTTP Method에는 크게 2가지 방식이 있는데, 그것이 바로 오늘의 주인공인 GET방식과 POST방식입니다. 오늘인 이 두 방식에 대해서 비교하며 장, 단점 및 차이점에 대해서 알아보도록 하겠습니다! 1. GET 방식 먼저 GET 방식에 대해서 알아보도록 하겠습니다. 영어 Get이라는 단어는 가져오다라는 뜻을 가진 단어인데요, 이를 활용해서 이해하면 ..
[정보처리기사-실기] 통합구현(3) 내외부 연계 모둘 구현 1. 연계 모둘 구현 환경 구서 및 개발 (1) EAI(Enterprise Application integration) 방식 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션 (2) ESB(Enterprise Service Bus) 방식 - 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 하는 기술 - ESB는 애플리케이션 통합을 느슨한 결합 방식으로 지원하는 방식이다. (3) 웹 서비스 방식의 개념 - 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술로 서비스 지향 아키텍처 개념을 실현하는 기술 SOAP: HTTP, HTTPS, SMTP 등..
[정보처리기사-실기] 통합구현(2) 연계 메커니즘 구성 1. 연계 메커니즘 정의 (1) 연계 메커니즘의 개념 응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 메커니즘이다. (2) 연계 방식 구분 직접 연계 간접 연계 장점 연계 및 통합 구현이 단순하며 용이 개발 소요 비용 및 기간이 짧음 중간 매개체가 없어 데이터 연계 처리 성능이 대체로 좋음 서로 상이한 네트워크, 프로토콜 연계 및 통합 가능 인터페이스 변경 시에도 장애나 오류 없이 서비스 가능 보안이나 업무 처리 로직을 자유롭게 반영 가능 단점 시스템 간의 결합도가 높아 시스템 변경에 민감 암, 복호화 처리 불가 연계 및 통합 가능한 시스템 환경이 제한적 연계 아키텍처 및 메커니즘이 복잡해 성능 저하 요소 존재 개발 및 적용을 ..