서비스에 대한 이해도는 'Grey-Box'로 볼 수 있을 거 같다.
문제 썸네일에서 'Basic-8'문제와 비슷하지만, 몇 가지 제한된 사항이 있다고 한다. 그리고 디렉터리 구조와 SSI를 요구한다.
문제 내용은 비밀번호 파일이 '/var/www/hackthissite.org/html/missions/basic/9/'에 저장되어 있으며, 'Basic-8'에서 추가적인 취약점을 제시한다. 디렉터리를 '~/8'로만 제한하려 했지만 의도대로 되지 않은 거 같다. 그리고 이러한 결함을 통해 'Basic-9'를 통과할 수 있는 비밀번호 파일을 얻을 수 있다고 한다.
디렉터리를 제한하려 했지만, 그게 잘 안되었다는 건 '디렉터리 리스팅' 취약점이 존재한다고 짐작해볼 수 있다. 접근 제한 설정이 없기 때문에 아무나 접근이 가능해진다. 'Basic-8'에서 상위 디렉터리로 이동하는 명령어 '../'를 사용했었다. 'SSI 지시어'의 취약점 때문에 발생하는 원인도 있지만 이러한 접근 제한을 검증하지 않은 것도 분명 문제점에 포함된다. 아무튼 이번에도 'SSI 지시어'를 통해 '~/9' 디렉터리로 접근하면 될 거 같다.
<!--#exec cmd="ls ../../9" -->
원하는대로 비밀번호 파일이 노출된 걸 볼 수 있다.