일반적인 HTTP 상태 코드 이해하기 (200, 301, 403)
이 단계에서는 웹 열거 중에 자주 접하게 되는 가장 일반적인 HTTP 상태 코드에 대해 알아보겠습니다. 이러한 코드를 이해하는 것은 Gobuster 의 출력을 해석하고 결과를 효과적으로 필터링하는 데 기본이 됩니다.
- 200 OK: 이 상태 코드는 요청이 성공했음을 나타냅니다. 서버가 요청을 성공적으로 처리했으며 요청된 리소스 (예: 웹 페이지, 이미지) 가 반환되고 있습니다. Gobuster 스캔에서 200 상태 코드는 일반적으로 유효하고 접근 가능한 페이지 또는 디렉토리가 발견되었음을 의미합니다.
- 301 Moved Permanently: 이 상태 코드는 요청된 리소스가 새 URL 로 영구적으로 이동되었음을 의미합니다. 브라우저 (또는 Gobuster) 는 새 위치로 자동 리디렉션되어야 합니다. 오류는 아니지만, 301 리디렉션을 찾는 것은 오래되었거나 재구성된 콘텐츠를 나타낼 수 있습니다.
- 403 Forbidden: 이 상태 코드는 서버가 요청을 이해했지만 승인을 거부함을 의미합니다. 이는 일반적으로 사용자 (또는 Gobuster) 가 인증 또는 특정 권한이 필요한 리소스에 액세스하려고 시도하지만 클라이언트가 해당 권한을 가지고 있지 않을 때 발생합니다. 403 을 찾는 것은 보호되지만 여전히 존재하는 민감한 영역을 가리킬 수 있으므로 흥미로울 수 있습니다.
이를 파악하기 위해 curl을 사용하여 더미 웹 서버의 일부 경로에 액세스해 볼 수 있습니다.
먼저 index.html에 액세스하여 서버가 실행 중인지 확인해 보겠습니다.
curl -I http://localhost:8000/index.html
출력에서 HTTP/1.0 200 OK 상태를 볼 수 있어야 합니다.
다음으로 redirect.html에 액세스하여 301 리디렉션을 확인해 보겠습니다.
curl -I http://localhost:8000/redirect.html
HTTP/1.0 301 Moved Permanently 상태를 관찰해야 합니다.
마지막으로 admin.html에 액세스하여 403 Forbidden 응답을 확인해 보겠습니다.
curl -I http://localhost:8000/admin.html
이 명령은 HTTP/1.0 403 Forbidden 상태를 반환해야 합니다.
이러한 curl 명령은 서버의 다른 경로가 특정 HTTP 상태 코드로 어떻게 응답하는지 수동으로 확인하는 데 도움이 되며, 이는 Gobuster 가 자동화할 내용입니다.