RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠

제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
sejin7940 조회:2927 2022.04.02 18:44
출처 rhymix 
출처URL https://xetown.com/topics/1665887 

외부페이지로 불러오는 로컬 파일에 PHP 코드나 템플릿 코드가 포함되어 있는 경우, 이를 이용하여 공격자가 서버단에서 실행되는 임의의 코드를 주입할 수 있는 원격 코드 실행(RCE) 취약점입니다. 

 

https://xetown.com/topics/1665887  참조

 

 




modules/page/page.mobile.php

 

function dispPageIndex  함수에서

 

if($this->module_srl) Context::set('module_srl',$this->module_srl);

 

아래에 추가

 

// Firt line of defense against RVE-2022-2.

foreach (Context::getRequestVars() as $key => $val)

{

if (preg_match('/[\{\}\(\)<>\$\'"]/', $key) || preg_match('/[\{\}\(\)<>\$\'"]/', $val))

{

$this->setError(-1);

$this->setMessage('msg_invalid_request');

return;

}

}

 

 

 

modules/page/page.view.php  에서

 

function dispPageIndex()  함수에서

 

if($this->module_srl) Context::set('module_srl',$this->module_srl);

 

아래에 추가

 

// Firt line of defense against RVE-2022-2.

foreach (Context::getRequestVars() as $key => $val)

{

if (preg_match('/[\{\}\(\)<>\$\'"]/', $key) || preg_match('/[\{\}\(\)<>\$\'"]/', $val))

{

$this->setError(-1);

$this->setMessage('msg_invalid_request');

return;

}

}

 

 

 

function executeFile  함수에서

 

FileHandler::writeFile($cache_file, $content);

 

아래의

 

// Include and then Return the result

if(!file_exists($cache_file)) return;

// Attempt to compile

$oTemplate = &TemplateHandler::getInstance();

$script = $oTemplate->compileDirect($filepath, $filename);

 

FileHandler::writeFile($cache_file, $script);

 

부분을 전체 주석 또는 삭제

 

 

그 아래의

 

$__Context = &$GLOBALS['__Context__'];

$__Context->tpl_path = $filepath;

 

ob_start();

include($cache_file);

 

$contents = '';

while (ob_get_level() - $level > 0) {

$contents .= ob_get_contents();

ob_end_clean();

}

return $contents;

 

이 부분을

 

// Don't compile, just return to prevent RVE-2022-2.

return file_get_contents($cache_file);

 

로 대체

 
전체 5건
공지 XE 기능개선 XE 1.11.18 이후 버전의 익명 수정 버그 수정법 xetown  2023.10.07 2756
공지 XE 기능개선 XE 1.11.14 보안패치 - 타인의 쪽지 내용을 확인할 수 있는 버그 패치방법 xetown  2023.10.03 2853
공지 XE 기능개선 XE 1.11.6 이후 보안배치 #4 file rhymix  2022.07.05 2936
» 1.11.6 XE 1.11.6 이후 보안배치 #3 rhymix  2022.04.02 2927
공지 1.11.6 XE 1.11.6 이후 보안배치 #1 xetown  2021.06.22 3292
공지 1.11.6 XE 1.11.6 이하 에서 공개댓글을 비밀댓글로 변경시 생길 수 있는 오류 수정법 sejin7940  2021.01.10 3222
공지 XE 기능개선 XE 1.11.4 이후에서 파일 업로드시 정상 작동 안 하는 현상 수정법 XE github  2019.04.02 6001
공지 XE 기능개선 php 7.1 환경에서 XE 오류 나는 경우 확인할 사항 sejin7940  2018.07.11 5928
공지 유용정보 php7.2 환경에서 XE 오류가 생기는 경우 - Object 클래스 변경 필요 XE Github  2017.11.27 8270
공지 XE 기능개선 XE 1.8.30 이하에서 반드시 수정해주셔야하는 부분입니다. XE 1.8.31  2017.02.26 6695
공지 1.8.18 XE 1.8.18 에서 사용시 반드시 수정해야할 사항들 ( XE 1.8.20 이후에서는 수정 불필요 ) xetown  2016.04.03 25808
공지 XE 기능개선 XE 1.8.12 이후부터 proc controller 일부가 작동 안 할 경우 확인할 부분 [1] XE  2015.10.16 25627

1.8.27 회원가입시 쪽지수신 여부가 무조건 '모두 허용'으로 저장되는 버그 수정

출처 : sejin7940 

2016.11.24 2016.11.24 조회 198

회원가입시 쪽지수신 여부가 무조건 '모두 허용'으로 저장되는 버그 수정 modules/member/member.controller.php 에서 function insertMember 함수에서 $args->allow_message= 'Y'; 부분을 아래걸로 변경 if(!$args->allow_message || ($args-...

1.8.27 최신XE 에서 회원가입폼 다국어화 하는 방법

출처 : sejin7940 

2016.11.17 2016.11.17 조회 253

최신XE 에서 회원가입폼 다국어화 하는 방법 XE 에서 가장 최신 버전조차도 회원가입 추가폼에 다국어를 지원하지 않고 있습니다. Core를 수정하면, 다국어로 만들 수는 있습니다 ( 단, radio, select, checkbox 형태는 기본값 문제 때문에 다국어화하려면 굉...

1.8.27 작성댓글모듈과 슈퍼캐시나 object 캐시 동시에 사용할 경우 2페이지이상에서 에러 발생시

출처 : 기진곰 

2016.11.16 2016.11.16 조회 380

작성댓글모듈을, 슈퍼캐시모듈 등 캐시관련 모듈이나 기능과 함께사용할 경우 Core 의 버그로 인해 2페이지 부터 에러가 나는 현상이 발생한다 이는 XE 오토로딩 목록에서 commentItem 클래스가 누락되어 발생하는 문제로 보입니다. config/config.inc.php 320...

1.8.27 페이지모듈에서는 모듈분류 가 안 되는 버그 수정 file

출처 : sejin7940 

2016.11.13 2016.11.13 조회 194

1.8.27 관리자페이지의 게시판 목록에서 '모듈분류'로만 검색이 안 되는 버그 수정

출처 : sejin7940 

2016.11.09 2016.11.09 조회 219

관리자페이지->게시판 목록에서 모듈분류 만으로는 검색이 안 됨 ( 검색어가 없다는 에러가 남 ) 다른 검색이 아니라 단순히 모듈분류를 사용하고자할때 사용이 불가능해져서 검색어 필수 처리되어있는걸 제거 modules/board/tpl/index.html 에서 <input type=...

XE Login