🇰🇷 한글 설명
netOffice Dwins 1.3 p2의 includes/library.php에서 문자열 'true'와 불리언 true 값을 구분하지 못하는 타입 비교 취약점입니다. 공격자는 demoSession 변수를 1로 설정하여 인증을 우회할 수 있습니다. 이를 통해 projects_site/uploadfile.php를 이용해 인증 없이 PHP 스크립트를 업로드하고 실행할 수 있습니다.
💡 쉬운 설명
웹 애플리케이션이 참(true)과 숫자 1을 같은 것으로 취급하는 버그로 인해 로그인 없이 시스템에 접근할 수 있습니다. 이를 이용해 악의적인 파일을 서버에 업로드하고 실행할 수 있습니다.
🇺🇸 원문 (English)
includes/library.php in netOffice Dwins 1.3 p2 compares the demoSession variable to the 'true' string literal instead of the true boolean literal, which allows remote attackers to bypass authentication and execute arbitrary code by setting this variable to 1, as demonstrated by uploading a PHP script via an add action to projects_site/uploadfile.php.
📍 영향받는 시스템
netOffice Dwins 1.3 p2
⚔️ 공격 벡터
demoSession 변수를 1로 설정하여 인증 우회 후 projects_site/uploadfile.php를 통해 PHP 스크립트 업로드
🔧 검증 코드
library.php 파일이 발견되고 demoSession을 문자열 'true'와 비교하는 코드가 있으면 취약한 버전입니다. 파일이 없으면 해당 애플리케이션이 설치되어 있지 않습니다.
find / -name library.php -path '*/includes/*' 2>/dev/null | xargs grep -l 'demoSession.*true' 2>/dev/null