Directory Listing
·
Web Study
Directory Listing웹 서버가 특정 디렉터리(폴더)에 대해 기본 문서(index.html, index.php 등)을 찾지 못했을 때, 그 폴더 안에 있는 파일/하위 디렉터리 목록을 그대로 보여주는 기능 발생원인주된 원인은 서버 설정 때문이다. 대표적으로해당 디렉터리에 index 파일이 없음웹 서버에서 자동 인덱싱(autoindex) 기능이 켜져 있음접근 제어가 제대로 설정되지 않음개발/테스트용 디렉터리를 운영 환경에 그대로 둠즉, 서버가 보여줄 메인 문서가 없으니, 대신 폴더 안 목록이라도 보여주자 라고 동작하는 것이다.어떤 서버에서 보이나Apache: Apache에서는 Options Indexs 설정이 있으면 디렉터리 목록이 보일 수 있다. Nginx: Nginx에서는 autoindex on..
Host Split Attack
·
Web Study
Host Split AttackURL 안의 호스트명(Hostname)을 처리하는 과정에서, 일부 Unicode 문자가 정규화(normalization)/IDN 처리 과정에서. / : @ # 같은 URL 구조를 바꾸는 문자처럼 변형되면서, 프로그램이 처음 이해한 호스트의 실제 전송 이동 시점의 호스트가 달라지는 취약점이다. 핵심은 보안 판단은 원래 문자열 기준으로 했는데, 나중에 정규화 후 URL 구조가 바뀌어 다른 도메인으로 해석된다는 것이다. 쉽게 말해,trusted.example 안의 하위 도메인이라고 믿었는데, Unicode/IDNA 변환 뒤에는 evil.example/path.trusted.example 같은 전혀 다른 구조로 바뀌어 오픈 리다이렉트 우회, OAuth 토큰 탈취, 도메인 검증 우회..
HTTP Session Hijacking
·
Web Study
HTTP Session HijackingHTTP Session Hijacking은 공격자가 다른 사용자의 유효한 세션을 탈취해서, 그 사용자로 가장하는 공격이다. 웹 애플리케이션은 보통 세션 ID를 통해 사용자 인증 상태를 유지한다. 이 세션ID가 노출/예측/고정/재사용되면 공격자는 피해자 비밀번호를 몰라도 로그인된 상태를 그대로 가로채서 행동할 수 있다.SessionHTTP는 기본적으로 stateless이다.즉, 요청 1번과 요청 2번이 같은 사용자인지 자체적으로 기억하지 못한다.그래서 서버는 사용자가 로그인하면 서버 측에 세션 상태를 만들고, 클라이언트에게는 그 세션을 식별할 세션 식별자(session identifier)를 내려준다.이 값은 일반적으로 Set-Cookie 헤더를 통해 쿠키로 저장되고..