본문 바로가기
728x90
반응형

보안57

위험한 형식 파일 업로드 위험한 형식 파일 업로드 파일 업로드 기능이 존재하는 경우, 업로드 파일의 크기와 개수, 종류를 제한하지 않고, 외부에서 접근 가능한 경로에 파일을 저장하는 경우에 발생 → 서버의 연결 또는 디스크 자원을 고갈 → 정상적인 서비스를 방해 → 서버에서 실행 가능한 파일(웹쉘)을 업로드 후 실행 → 서버 제어권을 탈취 → 악성 코드가 포함된 파일이 서버에 저장되고 불특정 다수가 내려받아 감염 → 악성코드의 유포지로 악성 [방어기법] 업로드 파일의 크기와 개수를 제한 업로드 파일의 종류를 제한 → 파일 확장자, Content-Type, File Signature(= Magic Number) 외부에서 접근할 수 없는 경로에 파일을 저장 → WebRoot 밖 저장 파일의 경로와 파일명을 외부에서 알 수 없도록 처.. 2019. 10. 1.
운영체제 명령어 삽입 운영체제 명령어 삽입 운영체제 명령어 실행 부분이 존재하는 경우, 외부 입력값을 검증, 제한하지 않고 운영체제 명령어 또는 명령어 일부로 사용하는 경우에 발생 → 의도하지 않은 명령어 실행 → 의도하지 않은 추가 명령어 실행 ⇒ 서버 쉘을 획득 = 서버의 제어권을 탈취 [방어기법] 운영체제 명령어 실행이 꼭 필요한지를 검토 → 대체 기능을 사용 사용할 명령어를 미리 정의하고 정의된 범위 내에서 사용될 수 있도록 제한한다. = 화이트 리스트 방식의 입력값 제한 추가 명령어 실행에 사용되는 &, |, ; 문자열을 필터링한다. 2019. 10. 1.
크로스사이트 스크립트 크로스사이트 스크립트 공격자가 전달한 스크립트 코드가 사용자(희생자)의 브라우저를 통해서 실행되는 것 → 브라우저 또는 PC의 정보를 탈취 → 가짜 페이지를 생성해서 사용자 입력을 유도 후 입력한 정보를 탈취 → 희생자 PC의 제어권을 탈취 ⇒ BeEF [방어기법] 입력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 → 서블릿 필터, 인터셉터, 컨트롤러(Validator) 출력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 ⇒ 안전한 문자열로 대체 - HTML 인코딩 - TagLib 사용 ${fn:escapeXml(...)} → 컨트롤러, 뷰 #1 반사 XSS (Reflective XSS) 입력값이 (실행 가능한 스크립트 코드 포함 여부를 확인하지 않고) 출력으로 사용되는 경우 .. 2019. 10. 1.
경로조작 및 자원삽입 외부 입력값을 검증, 제한하지 않고 서버 자원의 식별자로 사용하는 경우 발생 → 의도하지 않은 자원 생성 및 참조가 발생 → 정상적인 서비스 실행을 방해하거나 시스템 장애를 유발 → 파일 자원인 경우 지정한 경로 밖(=권한 밖)의 파일에 접근이 가능 = 경로조작 [방어기법] 자원 식별자를 미리 정의하고 정의된 범위 내에서 사용할 수 있도록 제한한다. = 화이트 리스트 방식의 입력값 제한 외부 입력값을 내부 처리에 직접 사용하지 않고, 내부에 정의된 값을 맵핑하는 용도로 사용 ⇒ 캡슐화 및 입력값 제한을 동시에 제공 외부 입력값이 파일 경로로 사용되는 경우, 경로 조작 문자열( . .. / \ ) 포함 여부를 확인 후 사용할 수 있도록 한다. 다음 진단결과의 정오탐 여부를 판정하고 판정근거를 기술하시오. .. 2019. 10. 1.
728x90
반응형