Skip to main content

심볼릭 링크 사용 금지

취약점 설명

웹 서비스 설정에서 심볼링 링크 사용이 중지되어야 하는 이유를 설명하기 위해 시연

apache2.conf 에서 FollowSymLinks 앞에 -가 존재하지 않을 경우 취약

(해당 값을 삭제하여도 되지만, 버전에 따라 기본값으로 활성화가 될 수 있으므로 앞에 - 기호를 붙이는 방식을 권고)

조치를 위해선 -FollowSymLinks 로 변경

image.png

취약점 시연

아래 명령어를 통해 웹 서비스 디렉터리에 /etc/passwd 로 접근하는 심볼릭 링크 생성

sudo ln -s /etc/passwd root_pass
image.png

웹 서비스는 기본적으로 path traversal 취약점이 통하지 않는 상태

image.png

image.png

웹 서비스에 업로드한 심볼릭 링크 파일로 접근 시 (상위 디렉터리 접근이 막혀있음에도) /etc/passwd 파일이 출력됨을 확인

image.png


조치 후 심볼릭 링크의 접근이 불가능해짐을 확인

image.png

딴소리

Options Indexes FollowSymLinks 부분을 수정할 경우

Options Indexes -FollowSymLinks 처럼 Follow에만 - 를 붙여주면 apache2 가 뻗어버린다.

Options -Indexes -FollowSymLinks 와 같이 Options에는 일괄적으로 부호를 붙여줘야 하며, Indexes 설정은 활성화 하고싶다면

Options +Indexes -FollowSymLinks 처럼 등호를 기입하여 구분해줘야한다.