# 05. PHP 실행 경로 제한

![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-08/scaled-1680-/dFOlyJXuXzFZPP6p-image.png)

<p class="callout info">설명</p>

**웹 서비스 진단 시에도 있는 path traversal 취약점 관련 설정이다.**

**http://localhost/home.html 이라는 경로가 존재할 경우, 상위 디렉터리로 이동하여**

**웹 서버 내부 경로를 벗어나 시스템 파일을 확인 할 수 있는 취약점이다.**

**apache를 예시로 들 경우 위 home.html 파일은 (시스템 자체에서)**

**/var/www/html/home.html**

**이라는 경로에 존재한다.**

**html이라는 디렉터리가 웹 서버측에선 최상위(root) 디렉터리여야 하지만 해당 설정이 되어있지 않으면**

**../../../../ 같은 상위 디렉터리로 이동하는 명령어를 통해 시스템 내부 파일로 접근이 가능하다.**

**ex. http://localhost/../../../../../../../etc/passwd**

**\* 말이 또 길어지네; 이러려고 만든 페이지가 아니니까 설명은 여기까지만 쓰는걸로**

<p class="callout info">기본 값</p>

![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-08/scaled-1680-/KwPnT2S58Lo7psTd-image.png)

**open\_basedir 설정이 주석처리되어 있음 -&gt; 취약**

<p class="callout info">딴소리</p>

**모의해킹 프로젝트를 진행하다보면 의외로 한두번씩 나오는 취약점**

![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-08/scaled-1680-/X8fcr0QsLy9xCPNa-image.png)

**php config에서는 ; 가 주석으로 처리되는데**

**2024 가이드에선 조치방법 과정에서 주석을 안지웠다.**

<p class="callout warning">조치 방법</p>

**01. php Config 파일 접근**

![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-08/scaled-1680-/6GSnWzROvNAwBS5j-image.png)

**02. 웹 서버의 루트 디렉터리를 설정 값에 추가**

![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-08/scaled-1680-/wZKfvEjL5jkwpTUY-image.png)

**\* 경로를 여러개 지정 할 시 :(콜론) 사용,**

**ex. /var/www:/tmp -&gt; /var/www 과 /tmp 지정**