본문 바로가기

웹 해킹/기타 웹 취약점

(6)
[주통기 웹 취약점] 경로 추적, 위치 공개 경로 추적 : 사용자의 입력 데이터가 적절한 검증 없이 URL이나 파일 경로 파라미터에 사용될 경우 중요한 파일 또는 디렉터리에 접근할 수 있는 취약점이다. ../와 같은 상대경로를 계속해서 입력해 가면서 정보가 탈취할 수 있을 때까지 공격자가 입력이 가능하면 해당 취약점이 존재한다고 볼 수 있다. 특히 웹 루트 디렉터리보다 상위 디렉터리에 접근이 가능한 경우 취약하다고 판단한다. [보안 방법] * 웹 사이트에서 접근하려는 파일이 있는 디렉터리에 chroot 환경 적용 시 경로 추적 공격을 최소화할 수 있음 +) 공격에 사용할 수 있는 인코딩 및 문자 ※ URL 인코딩: .(%2e), /(%2f), \(%5c) ※ 16bit 유니코드 인코딩: .(%u002e), /(%u2215), \(%u2216) ※ ..
[주통기 웹 취약점] 프로세스 검증 누락, 관리자 페이지 노출 프로세스 검증 누락 : 인증이 필요한 모든 페이지에 대해 접근제어가 미흡하여 비인가자가 접근할 수 있는 취약점 공격자는 중요 페이지에 접근해서 정보를 변조하거나 탈취 할 수 있다. +) 여기서 헷갈리는 점이 생겼다. 그럼 불충분한 인증, 인가와 프로세스 검증 누락은 어떻게 구별하지? 찾아보니 아래와 같이 정리할 수 있다. 불충분한 인증 : 개인정보 수정 시 PW확인이 없는 경우 불충분한 인가 : 민감 데이터나 기능에 접근 권한이 없는 경우 (행위 위주의 느낌) 프로세스 검증 누락 : 민감 페이지 접근이 가능한 경우 (페이지 자체) => 대부분 URL 조작을 통해 접근한다. 사실 이런건 취약점을 찾는 사람이 어떻게 분류하냐에 따라 다르긴 하다. 뭐가 되었든 취약점에 대한 설명만 제대로 할 수 있으면 된다...
[주통기 웹 취약점] 자동화 공격 자동화 공격 : 웹 애플리케이션의 특정 프로세스에 자동화 공격 수행 시 요청이 통제되지 않고 수많은 프로세스가 실행되는 취약점 자동화 공격은 Dos, 무차별 대입 공격 뿐만 아니라 다량의 패킷을 요청하는 Blind SQL Injection의 자동화 공격을 수행하는 데 사용될 수 있다. [보안 방법] - 로그인 시도, 게시글 등록, SMS 발송 등에 대한 사용자 요청이 일회성이 될 수 있도록, 캡차(이미지를 이용하여 확인 값을 표시하고 사용자가 값을 등록하여 인증함) 등 일회성 확인 로직을 구현하여야 함 - 자동화 공격을 시도하면 짧은 시간에 다량의 패킷(양)이 전송되므로 이를 공격으로 감지하고 방어할 수 있는 IDS/IPS 시스템을 구축하여야 함. 서버에 요청되는 패킷(양)의 모니터링이 불가능한 경우 적..
[주통기 웹 취약점] 세션관련 취약점 3가지 | 세션 예측, 불충분한 세션 만료, 세션 고정 세 가지 취약점은 세션의 보안 조치가 취약하게 설정되어 발생하며, 공격자는 개인정보 탈취, 사용자 ID 도용, 사용자 ID를 활용한 2차 공격(DoS 등)을 할 수 있다. 세션 예측 : 각기 다른 IP주소, 사용자명, 시간적 차이로 세션 ID를 발급 받았을 때 일정한 패턴(연속된 숫자 할당 등)이 발견되는 취약점 공격자는 세션ID를 추측해서 불법적인 접근 시도가 가능하다. 본인의 세션을 여러 번 생성하여 확인하는 것만으로 보안 취약점을 확인할 수 있다. [보안 방법] - 단순 조합보다는 상용 웹 서버나 웹 애플리케이션 플랫폼에서 제공하는 세션 ID를 사용하고, 가능하다면 맞춤형 세션 관리 체계를 권고 - 세션 ID는 로그인 시마다 추측할 수 없는 새로운 세션 ID로 발급하여야 함 불충분한 세션 만료 : ..
[주통기 웹 취약점] 약한 문자열 강도, 취약한 패스워드 복구 약한 문자열 강도 : 사용자 계정, pw 등이 반복되는 패턴을 가지거나 추측하기 용이한 문자열로 이루어진 경우 예측이나 패스워드 크래킹 공격으로 탈취가 가능한 취약점 사용자의 정보를 탈취하거나 관리자 계정 탈취를 통해 서비스를 장악할 수 있는 위험도 높은 취약점이다. [보안 설정] - 취약한 계정 및 패스워드를 삭제하고, 사용자가 취약한 계정이나 패스워드를 등록하지 못하도록 패스워드 규정이 반영된 체크 로직을 회원가입, 정보변경, 패스워드 변경 등 적용 필요한 페이지에 모두 구현 취약한 패스워드 복구 : 패스워드 변경과 같은 프로세스에서 공격자가 다른 사용자의 패스워드를 획득, 변경할 가능성이 있는 취약점 패스워드를 찾을 때 다른 인증을 요구하지 않고 사용자 화면에서 바로 표출하는 경우 혹은 임시로 생성..
[주통기 웹 취약점] 정보 누출, 악성 콘텐츠 정보 누출 취약점 : 웹 사이트에 중요 정보가 노출되거나 소스코드 주석이나 오류 메시지 등에서 과도한 정보가 노출되는 취약점 사용자 관련 정보 : ID, PW, 주소 등 서버 관련 정보 : 서버 관리자 및 사용자 정보, 서버 버전 정보, 서버 절대 경로, 서버 내부 정보 등 공격자는 해당 취약점을 이용해 2차 공격을 위한 정보로 활용할 수 있다. [보안 방법] * 사용자가 주민등록번호 뒷자리, 비밀번호 입력 시 별표 표시하는 등 마스킹 처리를 하여 주변 사람들에게 노출되지 않도록 함 * 웹페이지를 운영 서버에 이관 시 주석은 모두 제거하여 이관 * 중요정보(개인정보, 계정정보, 금융정보 등)를 HTML 소스에 포함하지 않도록 함 * 로그인 실패 시 반환되는 에러 메시지는 특정 ID의 가입 여부를 식별할 ..