본문 바로가기
728x90
반응형

전체 글297

크로스사이트 스크립트 크로스사이트 스크립트 공격자가 전달한 스크립트 코드가 사용자(희생자)의 브라우저를 통해서 실행되는 것 → 브라우저 또는 PC의 정보를 탈취 → 가짜 페이지를 생성해서 사용자 입력을 유도 후 입력한 정보를 탈취 → 희생자 PC의 제어권을 탈취 ⇒ BeEF [방어기법] 입력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 → 서블릿 필터, 인터셉터, 컨트롤러(Validator) 출력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 ⇒ 안전한 문자열로 대체 - HTML 인코딩 - TagLib 사용 ${fn:escapeXml(...)} → 컨트롤러, 뷰 #1 반사 XSS (Reflective XSS) 입력값이 (실행 가능한 스크립트 코드 포함 여부를 확인하지 않고) 출력으로 사용되는 경우 .. 2019. 10. 1.
경로조작 및 자원삽입 외부 입력값을 검증, 제한하지 않고 서버 자원의 식별자로 사용하는 경우 발생 → 의도하지 않은 자원 생성 및 참조가 발생 → 정상적인 서비스 실행을 방해하거나 시스템 장애를 유발 → 파일 자원인 경우 지정한 경로 밖(=권한 밖)의 파일에 접근이 가능 = 경로조작 [방어기법] 자원 식별자를 미리 정의하고 정의된 범위 내에서 사용할 수 있도록 제한한다. = 화이트 리스트 방식의 입력값 제한 외부 입력값을 내부 처리에 직접 사용하지 않고, 내부에 정의된 값을 맵핑하는 용도로 사용 ⇒ 캡슐화 및 입력값 제한을 동시에 제공 외부 입력값이 파일 경로로 사용되는 경우, 경로 조작 문자열( . .. / \ ) 포함 여부를 확인 후 사용할 수 있도록 한다. 다음 진단결과의 정오탐 여부를 판정하고 판정근거를 기술하시오. .. 2019. 10. 1.
SQL 삽입 외부 입력값에 쿼리 조작 문자열 포함 여부를 확인하지 않고 쿼리문(SQL) 생성 및 실행에 사용하는 경우 발생 → 쿼리문의 구조와 의미가 변형되어서 실행 ⇒ 권한 밖의 데이터에 접근이 가능 ⇒ DBMS 서버의 제어권 탈취 ⇒ 쿼리 실행 결과를 우회한 처리 [대응방안] 정적쿼리를 사용(실행) = PreparedStatement 객체를 사용 = 구조화된 쿼리 실행 = 파라미터화된 쿼리 실행 동적쿼리를 사용해야 하는 경우, 입력값 검증 후 사용 = 쿼리 조작 문자열 포함 여부를 확인 후 사용 애플리케이션에서 사용하는 DB 사용자의 권한을 최소로 부여 → Stored Procedure를 이용한 SQLi 공격 또는 Union-Based SQLi 공격을 완화 오류 메시지에 시스템 정보가 노출되지 않도록 통제 → E.. 2019. 10. 1.
수행평가 풀이 03 문제 다음 조건을 만족하는 이미지를 Docker Hub에 등록하고 이미지의 이름을 제출합니다. 1. Docker Hub에서 Star가 2000개 이상인 nginx 이미지를 기반으로 컨테이너를 실행합니다. 2. 컨테이너 생성 시 호스트의 7988 포트와 컨테이너의 80 포트를 맵핑해 줍니다. 3. 컨테이너에 hello.html 파일을 생성합니다. (세부 조건 3-1~3-3 참조) 3-1. 파일 저장 경로는 접속 URL 경로를 참고하여 정의 3-2. nginx의 웹 루트 디렉터리는 "/usr/share/nginx/html/" 3-3. hello.html 내용 (OOO 대신 본인 이름을 입력) 안녕하세요. B반 OOO입니다. 4. 호스트의 웹 브라우저로 http://localhost:7988/b-ban/hel.. 2019. 6. 10.
728x90
반응형