백엔드 공부 메모/네트워크
웹 공격 기술(2) - 웹 서버 설정/설계 미비로 인한 취약성
볼륨조절불가
2024. 3. 9. 14:28
728x90
* 해당 게시글은 <그림으로 배우는 Http&Network Basic>을 읽고 정리하면서 공부하기 위해 메모하듯 작성하는 글입니다.
강제 브라우징(Forced Browsing)
- 웹 서버의 공개 디렉토리에 있는 파일 중, 공개 의도가 없는 파일이 열람되게 하는 취약성
- 영향
- 고객 정보 등 중요 정보 누설
- 본래 액세스 권한이 있는 사용자에게만 표시하는 정보 누설
- 어디에서도 링크되지 않은 파일 누설
공개하고 싶지 않은 파일의 URL을 숨기는 보안 대책의 경우, 해당 URL을 알게 되면 파일 열람 가능
강제 브라우징이 발생 가능한 경우
- 디렉토리 내용 일람
- 디렉토리 이름을 지정함으로써 파일 목록이 표시되고 파일명 확인 가능
- 추측하기 쉬운 파일명, 디렉토리명
- 백업 파일
- 편집 프로그램 등에서 자동 생성하는 백업 파일은 실행 권한이 없어 소스 코드가 표시되는 경우 존재
- 인증 후에만 표시되어야만 하는 파일
- 인증이 필요한 웹페이지에서 이용되는 파일의 URL을 직접 지정해 바로 액세스 가능
강제 브라우징 예시
- 볼륨조절불가의 비공개 글은 볼륨조절불가와 친구를 맺고 있는 사람만이 열람 가능
- 비공개 글의 이미지가 아래와 같은 태그로 이루어져 있다고 가정
- <img src="http://exam.com/img/aasdfaslkkl.jpg">
- 해당 이미지의 URL을 알 수만 있다면 URL에 직접 액세스해 이미지를 확인 가능
- 글에만 액세스 권한이 설정되어 있고, 이미지에는 액세스 권한이 설정되어 있지 않기 때문에 이미지는 누구나 확인 가능
부적절한 에러 메시지 처리
- 공격자에게 유익한 정보가 웹 애플리케이션의 에러 메시지에 포함된다는 취약성
- 에러 메시지 유형
- 웹 애플리케이션에 의한 에러 메시지
- 데이터베이스 등의 시스템에 의한 에러 메시지
사례1 - 웹 애플리케이션에 의한 에러 메시지
- 로그인 페이지에서 인증 기능의 인증 에러가 발생하는 상황
- 입력한 메일 주소와 패스워드의 조합이 잘못되었을 때 에러 메시지를 표시
- 공격자가 임의의 메일 주소를 입력하는 경우, 에러 메시지를 통해 DB에 저장된 메일 주소 추론 가능
- "메일 주소가 등록되어 있지 않습니다" 라는 메시지를 통해 공격자가 입력한 메일 주소가 없음을 확인할 수 있음
- "패스워드가 틀렸습니다" 라는 메시지를 통해 공격자가 입력한 메일 주소가 존재함을 확인 가능
- 공격자가 추론할 수 없도록 너무 구체적인 에러 메시지를 제공하지 않아야 함
- "인증 오류입니다" 정도로 제공하는 편이 좋음
사례2 - 데이터베이스 등의 시스템에 의한 에러 메시지
- 사이트에서 정보를 검색하는 데 오류가 발생하는 상황
- 이때 에러 메시지를 부적절하게 처리하여 문제가 발생
- 검색할 때 예상치 못한 문자열을 입력받아 오류가 생길 때, 아무 처리도 안 하는 경우 데이터베이스의 에러가 표시되는 경우 존재
- 이를 통해 서버의 데이터베이스가 MySQL인지 다른 DB인지를 공격자가 파악할 수 있음
- 그리고 DB에 접근하기 위한 프로그래밍 문법(SQL 쿼리 등)이 표시되기도 하는데, 이 경우 SQL 인젝션 등으로 악용될 수 있음
<시스템이 출력하는 오류>
PHP나 ASP 등의 스크립트 에러
데이터베이스나 미들웨어의 오류
웹 서버 에러
- 에러 메시지가 공격 힌트로 이용되지 않도록, 각 시스템의 설정에 의한 상세한 에러 메시지를 제한하거나 커스텀 에러 메시지를 이용하면 좋음
오픈 리다이렉트(Open Redirect)
- 지정한 임의의 URL로 리다이렉트하는 기능
- 리다이렉트되는 곳의 URL에 악의가 있는 웹사이트가 지정된 경우 유저가 그 웹사이트로 유도되는 취약성 발생
사례 - 파라미터로 지정한 URL에 리다이렉트하는 웹 애플리케이션
- 공격자가 의도한 URL로 고친 링크를 유저가 클릭하도록 유도
- 공격자가 준비한 링크: http://example.com?redirect=http://hackr.jp
- 유저는 example.com을 기대하고 공격자의 링크를 클릭했지만, 웹 애플리케이션의 기능에 의해 공격자가 의도한 URL인 hackr.jp로 접속하게 됨
- 이처럼, 유저가 신뢰하는 웹 사이트에 오픈 리다이렉트 기능이 있으면 공격자가 이를 악용해 피싱 사기 범죄를 저지를 가능성 존재
728x90