phpsafe 𝕏 GitHub
공식 CA 421DTkQ3TSG3n7F9SkNZj9NxvdFGbypwkctPd2uupump 이 주소만 공식 주소입니다.

사용자 입력으로 파일 include

위험도: 치명적 CWE-98 OWASP A03:2021 Injection rule: include_user

왜 위험한가요

요청 값으로 include 경로를 만들면 공격자가 시스템 파일, PHP가 숨겨진 업로드 이미지, 외부 코드를 불러올 수 있습니다. 서버 전체가 장악되는 가장 빠른 경로 중 하나입니다.

✕ 취약한 코드
include $_GET['page'] . '.php';
✓ 안전한 코드
$pages = ['home' => 'home.php', 'about' => 'about.php'];
$page = $pages[$_GET['page'] ?? 'home'] ?? 'home.php';
include __DIR__ . '/pages/' . $page;

해결 방법

허용된 페이지 이름만 고정 파일에 연결하는 화이트리스트 배열을 쓰세요. 요청 값으로 include 경로를 만들지 마세요.

내 코드 검사하기

파일을 붙여넣으면 이 규칙에 걸리는 줄을 모두 찾아드립니다.

내 코드 검사하기 →