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

신뢰할 수 없는 데이터에 unserialize()

위험도: 치명적 CWE-502 OWASP A08:2021 Software and Data Integrity Failures rule: unserialize

왜 위험한가요

unserialize()는 어떤 객체든 만들 수 있어서, 공격자가 기존 클래스들을 연결해(가젯 체인) 파일을 지우거나 코드를 실행할 수 있습니다. JSON은 단순한 데이터만 만듭니다.

✕ 취약한 코드
$prefs = unserialize($_COOKIE['prefs']);
✓ 안전한 코드
$prefs = json_decode($_COOKIE['prefs'] ?? '{}', true) ?: [];

해결 방법

json_decode()로 바꾸세요. 꼭 써야 하면 ['allowed_classes' => false] 옵션을 넣으세요.

내 코드 검사하기

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

내 코드 검사하기 →