Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

의심스런 요청에 대해 관리자 권한의 보호 #2304

Closed
ghost opened this issue Sep 19, 2018 · 5 comments
Closed

의심스런 요청에 대해 관리자 권한의 보호 #2304

ghost opened this issue Sep 19, 2018 · 5 comments
Milestone

Comments

@ghost
Copy link

ghost commented Sep 19, 2018

레이아웃 편집기 등에서 PHP 함수를 사용 제한

관리페이지의 레이아웃 편집 기능 등에서 PHP 코드를 직접 입력하는 경우 기능이 제한됩니다

files/config/db.config.php 파일의 'safeguard' 값이 'Y'로 설정되면 제한이 적용되며, 'N'으로 변경하여 제한을 해제할 수 있습니다.

이 변경사항은 XE를 새로 설치한 경우 제한이 적용되며, 기존 업데이트 사용자는 기존과 같이 제한이 적용되지않은 상태로 유지됩니다.

files/config/db.config.php 파일에서 다음과 같이 safeguard 항목을 찾아 값을 변경하거나 추가할 수 있습니다.

'lang_type' => 'ko',
'use_mobile_view' => 'Y',
'safeguard' => 'Y', // 이 값을 변경하세요.이 항목이 없다면 기본 값의 'N'입니다(제한이 적용되지 않음)
'use_rewrite' => 'Y',
@ghost ghost added the type/SECURITY label Sep 19, 2018
@ghost ghost added this to the 1.11.0 milestone Sep 19, 2018
@ghost ghost self-assigned this Sep 19, 2018
ghost pushed a commit that referenced this issue Sep 19, 2018
- 관리페이지의 레이아웃 편집 기능 등에서 XE 템플릿 문법외 PHP 코드를 직접 입력하는 경우 기능이 제한됩니다
- files/config/db.config.php 파일의 'safeguard' 값이 'Y'로 설정되면 제한이 적용됩니다
@ghost ghost closed this as completed Sep 21, 2018
@ghost ghost reopened this Sep 27, 2018
@ghost
Copy link
Author

ghost commented Sep 27, 2018

safeguard의 기본 값을 'Y'(제한을 적용하는 상태)로 변경합니다.

이 이슈의 영향은 escape 처리되지 않은 PHP 코드의 사용의 제한이며, 관리자를 제외하고는 이미 이러한 사용은 제한되어 왔었으며, 관리자에 대해서 추가로 적용하는 것입니다.

관리페이지에서 input, textarea 입력폼 등에 PHP 코드를 사용한 경우에 해당되며, 당장 영향을 받을 수 있는 곳은 관리페이지에서 레이아웃 HTML 편집기입니다.

@kijin
Copy link
Contributor

kijin commented Sep 27, 2018

레이아웃 편집기뿐이라면 기본 Y로 하셔도 괜찮습니다. 아예 옵션을 없애버리고 앞으로는 못 쓴다!! 라고 못박아 버리셔도 상관없고요. 그런데 템플릿에서는 {@ } 문법으로 웬만한 PHP 코드를 모두 사용할 수 있으니 <?php를 막는 것만으로는 효과가 없지 않나요?

@ghost
Copy link
Author

ghost commented Sep 27, 2018

@kijin 변칙적으로 사용될 수 있는 부분이 있어 차단했습니다.

혹시나 차단에 불만이 있을까봐 옵션을 두었는데, 필요 없다는 의견이시라면 저도 동의합니다.
옵션에 의지하지 않고 차단하는게 더 좋습니다.

@ghost
Copy link
Author

ghost commented Sep 27, 2018

옵션 아예 날려야겠네요.

@kijin
Copy link
Contributor

kijin commented Sep 27, 2018

@bnu 네, 보안 관련된 기능은 최대한 간단하고 일관성있는 것이 좋습니다^^

@ghost ghost closed this as completed Sep 27, 2018
kijin added a commit to rhymix/rhymix that referenced this issue Oct 10, 2018
- 수상한 파일이 업로드되었을 때 isSuccessInit = false로 지정
- isSuccessInit = false인 경우 무조건 에러메시지 출력 (xpressengine/xe-core#2304)
- 보안정책 관련 에러메시지는 msg_security_violation으로 통일
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant