| 취약점ID |
21264 |
| 위험도 |
40 |
| 포트 |
80, ... |
| 프로토콜 |
TCP |
| 분류 |
CGI |
| 상세설명 |
해당 myPHPNuke의 몇몇 PHP 스크립트들은 코드 삽입 공격에 취약하다. myPHPNuke는 자유롭게 이용 가능한 PHP 기반의 콘텐트 관리 시스템이다. myPHPNuke 버전 1.8.8_7은 사용자 제공 입력값을 적절하게 걸러내지 못해 원격지의 공격자가 악의적인 PHP 파일들을 Include 할 수 있게 해 준다. 공격자는 악의적인 서버 상에 악의적인 PHP 파일들을 설치하여 취약한 시스템에 임의의 코드를 실행시키는 데 그 파일들을 사용할 수 있다. 원격지의 공격자는 인수로써 원격지의 시스템상에 있는 악의적인 PHP 파일을 명기한 잘 조작된 URL 요청을 'gallery/displayCategory.php' 혹은 'mailattach.php' 스크립트로 보낸다. 이는 문제가 되는 시스템상에 임의의 코드를 실행시킬 수 있게 해 준다.
* 참고 사이트: http://www.securityfocus.com/archive/1/337085 http://archives.neohapsis.com/archives/vulnwatch/2003-q3/0101.html
* 영향을 받는 플랫폼: Linux Any version Unix Any version Windows Any version myPHPNuke 1.8.8_7 |
| 해결책 |
2014년 6월 현재 업그레이드나 패치는 나와 있지 않다.
임시 조치방법으로, http://www.phpsecure.info 에 있는 phpSecure.org 웹 사이트에서 제시되어 있듯이 각각의 문제가 되는 스크립들의 소스코드를 수정할 것을 권고한다.
Gallery/displayCategory.php에서 맨 첫 부분에 다음 라인들을 추가한다: ------------------------------------------------------------------- if (isset($_REQUEST["basepath"]) OR isset($_REQUEST["adminpath"])){ die("Patched."); } -------------------------------------------------------------------
그리고 mailattach.php에서는 다음 라인들 뒤에 아래의 라인들을 추가한다: ------------------------------------------------------------------- […] <? OpenTable(); global $attachmentdir; [...] -------------------------------------------------------------------
추가할 라인들:
------------------------------------------------------------------- if (isset($_REQUEST["attach1_type"]) OR isset($_REQUEST["attach1_name"]) OR ereg("/",$attach1) OR ereg("\.\.",$attach1) OR ereg(".php",$attach1_name) ){ die("Patched."); } ------------------------------------------------------------------- |
| 관련 URL |
(CVE) |
| 관련 URL |
(SecurityFocus) |
| 관련 URL |
13164 (ISS) |
|