반응형

#개발보안 7

[SW개발보안] SR1-7. HTTP 프로토콜 유효성 검증

[SW개발보안] SR1-7. HTTP 프로토콜 유효성 검증 HTTP 응답 분할 외부 입력값을 응답 헤더의 값으로 사용하는 경우, 외부 입력값에 개행 문자 포함 여부를 확인하지 않고 사용하면 응답이 여러 개로 분할되어 전달되는 현상 → 분할된 응답에 만들어지는 본문 영역을 이용해서 공격 코드를 전달 실행 [대응방안] 외부 입력값을 응답 헤더의 값으로 사용하는 경우, 반드시 개행 문자 포함 여부를 확인 후 사용 [외부 입력값을 응답 헤더의 값으로 사용하는 경우] 리다이렉트 String url = request.getParameter("url"); response.sendRedirect(url); ⇒ Location: _____; 2. 쿠키 String age = request.getParameter("age..

[SW개발보안] SR1-6. 웹 기반 중요기능 수행 요청 유효성 검증

[SW개발보안] SR1-6. 웹 기반 중요기능 수행 요청 유효성 검증 크로스 사이트 요청 위조 (CSRF, Cross-site request forgery) 요청을 처리하는 서버에서 요청에 대한 요청 절차, 요청 주체를 검증하지 않고 요청을 처리했을 때 발생 → 희생자의 권한으로 요청이 처리 [방어대책] 요청 절차를 확인 ⇒ 토큰(token) 텍스트 기반 → 사용자가 관여하지 않음 ⇒ 자동화 처리가 가능하기 때문에 안전하지 않음 이미지를 이용 = CAPTCHA = 사용자와의 상호작용을 통한 요청 처리 ⇒ 자동화된 요청을 방해 요청 주체를 확인 = 중요 기능에 대해서 재인증, 재인가 ~~~~~~~~~ 1) 데이터가 생성, 수정, 삭제 = 트랜젝션이 발생 2) 중요 정보를 다루는 기능 3) 과금이 발생하는 ..

[SW개발보안] SR1-5. 웹 서비스 요청 및 결과 검증

[SW개발보안] SR1-5. 웹 서비스 요청 및 결과 검증 크로스 사이트 스크립트 (Cross-Site Scripting, XSS) 공격자가 전달한 스크립트 코드가 사용자(희생자) 브라우저를 통해서 실행 → 사용자 브라우저 또는 PC에 정보(쿠키, 스토리지, …)를 탈취 → 가짜 페이지를 생성 후 사용자 입력을 유도해서 정보를 탈취 → PC의 제어권을 탈취 ⇒ BeEF [대응방안] 입력값 검증 출력값 검증 ⇒ 실행 불가한 형태로 출력 = HTML 인코딩 검증 또는 필터링하는 기능은 검증된 라이브러리 또는 프레임워크를 이용해서 구현 ⇒ lucy xss filter ⇒ http://naver.github.io/lucy-xss-filter/kr/ 공격 문자열 유형 https://owasp.org/www-com..

반응형