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

eval()로 코드 실행

위험도: 치명적 CWE-95 OWASP A03:2021 Injection rule: eval

왜 위험한가요

eval()은 받은 문자열을 PHP 코드로 그대로 실행합니다. 그 일부라도 요청에서 온 값이면 공격자가 서버에서 자기 코드를 실행할 수 있습니다.

✕ 취약한 코드
$result = eval('return ' . $_POST['formula'] . ';');
✓ 안전한 코드
// Allow only known operations
$ops = [
    'add' => fn($a, $b) => $a + $b,
    'sub' => fn($a, $b) => $a - $b,
];
$op = $ops[$_POST['op'] ?? ''] ?? null;
$result = $op ? $op((float)$_POST['a'], (float)$_POST['b']) : null;

해결 방법

문자열을 코드로 실행하지 마세요. 명시적인 로직, 매핑 표, 안전한 파서로 바꾸세요.

내 코드 검사하기

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

내 코드 검사하기 →