목록웹 진단/게시판 실습 (15)
보안개구리

[설 명] SQL Injection은 사용자의 입력 값으로 웹 사이트 SQL 쿼리가 완성되는 약점을 이용하며, 입력값을 변조하여 비정상적인 SQL 쿼리를 조합하거나 실행하는 공격으로 개발자가 생각지 못한 SQL문을 실행하게 함으로써 데이터베이스를 비정상적으로 조작 가능한 공격으로 소스코드에 SQL 쿼리를 입력값으로 받는 함수나 코드를 사용할 경우, 비정상적인 SQL 쿼리로 DBMS 및 데이터를 열람하거나 조작 가능하므로 사용자의 입력 값에 대한 필터링을 구현하여야 한다. [점검 내용] 웹 페이지 내 SQL Injection 취약점 존재 여부 점검 [점검 기준]임의의 SQL Query 입력에 대한 검증이 이루어지지 않는 경우 취약 [대응 방법] * SQL 쿼리에 사용되는 문자열의 유효성을 검증하는 로직 구..

[설 명] 파일 업로드 기능을 이용하여 시스템 명령어를 실행하는 웹 프로그램을 업로드할 수 있는 취약점으로, 해당 취약점이 존재할 경우 공격자는 조작된 *Server Side Script 파일을 서버에 업로드 및 실행하여 시스템 관리자 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있으므로 업로드되는 파일의 확장자에 대한 적절성 여부를 검증하는 로직을 통해 공격자가 조작된 Server Side Script 파일 업로드 방지 및 서버 상에 저장된 경로를 유추하여 해당 Server Side Script 파일 실행을 불가능하게 하여야 한다. [점검 내용] 웹 사이트의 게시판, 자료실 등에 조작된 Srever Sdie Script 파일 업로드 및 실행 가능 여부 점검 [점검 기준] 업로드되는 파일에 대한 ..

[설 명] 공격자는 파일 다운로드 시 애플리케이션의 파라미터 값을 조작하여 웹 사이트의 중요한 파일(DB 커넥션 파일, 애플리케이션 파일 등) 또는 웹 서버 루트에 있는 중요한 설정 파일(passwd, shadow 등)을 다운받을 수 있다. 또한 cgi, jsp, php 등 파일 다운로드 기능을 제공해 주는 애플리케이션에서 입력되는 경로를 검증하지 않는 경우 임의의 문자(../.. 등)나 주요 파일명의 입력을 통해 웹 서버의 홈 디렉터리를 벗어나서 임의의 위치에 있는 파일을 열람하거나 다운로드하는 것이 가능하다. 파일 다운로드 시 허용된 경로 외 다른 경로의 파일 접근을 방지하여 공격자가 임의의 위치에 있는 파일을 ㅇ려람하거나 다운로드하는 것을 불가능하도록 하여야 한다. [점검 내용] 웹 사이트에서 파일..

[설 명] 접근제어가 필요한 중요 페이지의 통제수단이 미흡한 경우, 비인가자가 URL 파라미터 값 변경 등의 방법으로 중요 페이지에 접근하여 민감한 정보 열람 및 변조가 가능하므로 접근 권한에 대한 검증 로직을 구현하여 비인가자의 악의적인 접근을 차단하여야 한다. [점검 내용] 민감한 데이터 또는 기능에 접근 및 수정 시 통제 여부 점검 [점검 기준] 접근제어가 필요한 중요 페이지의 통제수단이 미흡하여 비인가자의 접근이 가능한 경우 취약 [대응 방법] * 접근제어가 필요한 중요 페이지는 세션을 통한 인증 등 통제수단을 구현하여 인가된 사용자 여부를 검증 후 해당 페이지에 접근할 수 있도록 함 * 페이지별 권한 매트릭스를 작성하여 접근제어가 필요한 모든 페이지에서 권한 체크가 이뤄지도록 구현하여야 함 [진..

[설 명] 접근제어가 필요한 중요 페이지의 통제수단이 미흡한 경우, 비인가자가 URL 파라미터 값 변경 등의 방법으로 중요 페이지에 접근하여 민감한 정보 열람 및 변조가 가능하므로 접근 권한에 대한 검증 로직을 구현하여 비인가자의 악의적인 접근을 차단하여야 한다. [점검 내용] 민감한 데이터 또는 기능에 접근 및 수정 시 통제 여부 점검 [점검 기준] 접근제어가 필요한 중요 페이지의 통제수단이 미흡하여 비인가자의 접근이 가능한 경우 취약 [대응 방법] * 접근제어가 필요한 중요 페이지는 세션을 통한 인증 등 통제수단을 구현하여 인가된 사용자 여부를 검증 후 해당 페이지에 접근할 수 있도록 함 * 페이지별 권한 매트릭스를 작성하여 접근제어가 필요한 모든 페이지에서 권한 체크가 이뤄지도록 구현하여야 함 [진..

[설 명] 중요정보(개인정보 변경 등) 페이지에 대한 인증 절차가 불충분할 경우 권한이 없는 사용자는 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있으므로 중요정보 페이지에는 추가적인 인증 절차를 구현하여야 한다. [점검 내용] 중요 페이지 접근 시 추가 인증 요구 여부 점검 [점검 기준] 중요 정보 페이지 접근에 대한 추가 인증을 하지 않는 경우 취약 [대응 방법] * 중요정보를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을 구현하고, 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지 페이지마다 검증 필요 * 접근 통제 정책을 구현하고 있는 코드는 구조화, 모듈화가 되어 있어야 함 * 접근제어가 필요한 모든 페이지에 통제수단(로그인 체크 및 권한 체크)을 구현..

[설 명] 중요정보(개인정보 변경 등) 페이지에 대한 인증 절차가 불충분할 경우 권한이 없는 사용자는 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있으므로 중요정보 페이지에는 추가적인 인증 절차를 구현하여야 한다. [점검 내용] 중요 페이지 접근 시 추가 인증 요구 여부 점검 [점검 기준] 중요 정보 페이지 접근에 대한 추가 인증을 하지 않는 경우 취약 [대응 방법] * 중요정보를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을 구현하고, 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지 페이지마다 검증 필요 * 접근 통제 정책을 구현하고 있는 코드는 구조화, 모듈화가 되어 있어야 함 * 접근제어가 필요한 모든 페이지에 통제수단(로그인 체크 및 권한 체크)을 구현..

[설 명] CSRF(Cross Site Request Forgery)는 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격으로 사용자의 신뢰(인증) 정보 내에서 사용자의 요청(Request)을 변조함으로써 해당 사용자의 권한으로 악의적인 공격을 수행할 수 있다. 사용자 입력값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여 신뢰(인증) 정보 내의 요청에 대한 변조 방지하여야 한다. [점검 내용] 사용자의 신뢰(인증) 정보의 변조 여부 점검 [점검 기준] 사용자 입력 값에 대한 필터링이 이루어지지 않으며, HTML 코드(또는 스크립트)를 입력하여 실행되는 경우 [대응 방법] * 웹 사이트에 사용자 입력 값이 저장되는 페이지는 요청이 ..

[설 명] 크로스사이트 스크립팅은 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기버의 공격으로 웹 애플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자는 사용자 입력 값을 받는 게시판, URL 등에 악의적인 스크립트를 삽입하여 게시글이나 이메일을 읽는 사용자의 쿠키(세션)를 탈취하여 도용하거나 악성코드 유포 사이트로 Redirect 할 수 있어 사용자 입력 값에 대한 검증 로직을 추가하거나 입력되더라도 실행되지 않게 하고, 부득이하게 웹 페이지에서 HTML을 사용하는 경우 HTML 코드 중 필요한 코드에 대해서만 입력되게 설정하여야 한다. [점검 내용] 웹 사이트 내 크로스사이트 스크립팅 취약점 존재 여부 [점검 기준] 사용자 입력 값에 대한 검증 및 필터링이 이..

[설 명] 크로스사이트 스크립팅은 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기버의 공격으로 웹 애플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자는 사용자 입력 값을 받는 게시판, URL 등에 악의적인 스크립트를 삽입하여 게시글이나 이메일을 읽는 사용자의 쿠키(세션)를 탈취하여 도용하거나 악성코드 유포 사이트로 Redirect 할 수 있어 사용자 입력 값에 대한 검증 로직을 추가하거나 입력되더라도 실행되지 않게 하고, 부득이하게 웹 페이지에서 HTML을 사용하는 경우 HTML 코드 중 필요한 코드에 대해서만 입력되게 설정하여야 한다. [점검 내용] 웹 사이트 내 크로스사이트 스크립팅 취약점 존재 여부 [점검 기준] 사용자 입력 값에 대한 검증 및 필터링이 이..