1. 보안 방안
정말 간단하다. 모든 Nginx의 alias 설정되어 있는 디렉터리들의 끝을 /로 마무리지어 정확하게 설정하면 된다.
2. 시연
1) 도커 컨테이너 내리기
# 컨테이너 ID 확인
docker ps
# 컨테이너 내림
docker kill [컨테이너 ID]
2) 도커 이미지 삭제
# 도커 이미지 확인
docker images
# 도커 이미지 삭제
docker rmi [이미지 ID] -f
3) 도커 파일 삭제
vulnerable.conf 파일 내부에 nginx 설정이 들어있으므로 이 부분을 수정한다.
기존대로 /static 뒤에 슬래쉬(/)가 빠져 있다.
위와 같이 /static을 /static/으로 바꾸고 저장한다.
4) 도커 컨테이너 다시 생성
docker build -t nginx-traversal .
docker run -d -p 127.0.0.1:3000:80 nginx-traversal:latest
5) 브라우저 테스트
이전과 동일하게 주소창에 입력한 결과 flag.txt가 읽혀지지 않는 것을 확인
'Vulnerability & CVE > Nginx Alias Traversal' 카테고리의 다른 글
Nginx Alias Traversal 취약점 - (2) 취약점 샘플 시연 (0) | 2022.11.30 |
---|---|
Nginx Alias Traversal 취약점 - (1) Nginx 개요 (0) | 2022.11.29 |