[ 릴리즈 노트 ]

1.5.3.5 보안 패치 배포

  • XE
  • 2012.11.27 14:56:01
  • 2

보안 패치가 포함된 Core를 배포 합니다.


(r123000)


수정사항
  • Webshell 방어코드 추가

보안패치된 내용은 아래 링크에서 확인하실 수 있습니다.

http://code.google.com/p/xe-core/source/detail?r=12300

직접 수정해 주실 경우에는 다음 부분을 수정해 주시면 됩니다.


1. ./classes/context/Context.class.php 파일

155번째 라인 var $is_uploaded = false; 다음에 다음 코드 추가.

 * @var bool true if attached file exists
 */
var $is_uploaded = false;

/**
 * Check init
 * @var bool false if init fail
 */
var $isSuccessInit = true;

809 라인 _setRequestArgument() 메소드 시작 부분에 아래 코드 추가.

$pattern = array(
'/<\?/iUsm',
'/<\%/iUsm',
'/<script(\s|\S)*language[\s]*=("|\')php("|\')(\s|\S)*/iUsm'
);

824 라인 다음 코드를

if($set_to_vars)
{
$val = preg_replace('/<\?.*(\?>)?/iUsm', '', $val);
$val = preg_replace('/<\%.*(\%>)?/iUsm', '', $val);
$val = preg_replace('/<script(\s|\S)*language[\s]*=("|\')php("|\')(\s|\S)*>.*<[\s]*\/[\s]*script[\s]*>/iUsm', '', $val);
}

아래 코드로 변경

if($set_to_vars)
{
foreach($pattern AS $key2=>$value2)
{
$result = preg_match($value2, $val);
if($result)
{
$this->isSuccessInit = false;
break;
}
}
}



2. ./classes/module/ModuleHandler.class.php 파일

40 번째 라인을 아래 다음 코드로 추가

$this->act = Context::get('act');
return;
}

$oContext = Context::getInstance();
if($oContext->isSuccessInit == false)
{
$this->error = 'msg_invalid_request';
return;
}
// Set variables from request arguments
$this->module = $module?$module:Context::get('module');
$this->act    = $act?$act:Context::get('act');

=================================================================================================================


1.4.5.X사용자가 1.5.0 이상 버전으로 업데이트를 하는 경우에는 반드시 관리자 제어판에 노출되는 모든 모듈업데이트를 완료 후 서비스 이용하시기 바랍니다.

(업데이트시 모듈 업데이트 미 완료로인해 로그인화면이 노출되지 않는 이슈가 발생할 수 있사오니, 가급적 관리자 로그인 상태에서 코드 업데이트를 하시기를 권장합니다.)

실서비스에 1.5.0 이상 버전을 적용하고자 하는 사용자는 반드시 DB및 코드 백업 이후 진행

태그목록

  • 없음

첨부파일 목록

  • 없음
목록으로 돌아가기
댓글 쓰기
댓글 목록 [2]
  • 나라사랑하자

    1.5.3.5 버천의 exchanged 파일을 다운 받으면 10여개가 되는데 직접 수정하라고 코드를 소개해 줬는데 파일 하나면 바꿔주면 문제없이 보안 패치는 되겠지만 업데이트를 하지 않게끔 만들어주는 건 아닌지요. 그냥 보안 패치는 이렇게 해서 반영했다고 소개만 하시고 소스는 직접 설명없이 업데이트하라고 공지하는게 더 나을 것 같은데요.

    댓글 2012-11-27

  • 멩이123

    155번째 라인이 아니고 115번째 라인입니다.

    댓글 2012-12-01