본문 바로가기
728x90
반응형

개발보안28

적절한 인증없는 중요기능 허용 [안전하지 않은 코드] [안전한 코드] 2019. 10. 1.
크로스사이트 요청 위조 요청이 발생했을 때, 요청에 대한 요청 주체와 요청 절차에 대한 검증이 불충분한 상태에서 요청을 처리하는 경우 발생 → 희생자의 권한으로 해당 기능이 실행 [방어기법] 2019. 10. 1.
신뢰되지 않은 URL 주소로 자동접속 연결 리다이렉트(또는 포워드) 기능이 존재하는 경우, 외부 입력값이 검증, 제한 없이 리다이렉트 또는 포워드 주소로 사용되는 경우 발생 → 의도하지 않은 주소로 리다이렉트(또는 포워드)가 발생 → 공격자가 미리 만들어 놓은 사이트로 접속을 유도하여 사용자 정보를 탈취 = 피싱(phishing) [정상적인 요청] http://www.다음.net/dispatcher.jsp?url=main.jsp ⇒ 사용자에게 http://www.다음.net/main.jsp 화면이 노출 [비정상적인 요청] http://www.다음.net/dispatcher.jsp?url=http://www.그다음.net/main.jsp ⇒ 사용자에게 http://www.그다음.net/main.jsp 화면이 노출 [공격문자열을 생성하여 불특정 다수.. 2019. 10. 1.
크로스사이트 스크립트 크로스사이트 스크립트 공격자가 전달한 스크립트 코드가 사용자(희생자)의 브라우저를 통해서 실행되는 것 → 브라우저 또는 PC의 정보를 탈취 → 가짜 페이지를 생성해서 사용자 입력을 유도 후 입력한 정보를 탈취 → 희생자 PC의 제어권을 탈취 ⇒ BeEF [방어기법] 입력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 → 서블릿 필터, 인터셉터, 컨트롤러(Validator) 출력값에 실행 가능한 스크립트 코드 포함 여부를 필터링 후 사용 ⇒ 안전한 문자열로 대체 - HTML 인코딩 - TagLib 사용 ${fn:escapeXml(...)} → 컨트롤러, 뷰 #1 반사 XSS (Reflective XSS) 입력값이 (실행 가능한 스크립트 코드 포함 여부를 확인하지 않고) 출력으로 사용되는 경우 .. 2019. 10. 1.
728x90
반응형