포럼
xe 1.7.3.5 관리자패널에서 회원추가관련 오류
2013.09.30 17:33
https://code.google.com/p/xe-core/source/detail?r=13164
./modules/member/member.admin.controller.php 에서
24번째 줄 아래로
$logged_info = Context::get('loggd_info');
if($logged_info->is_admin != 'Y' || !checkCSRF())
{
return new Object(-1, 'msg_invalid_request');
}
코드가 추가됬는데 이경우, 관리자패널 회원목록 회원추가 부분에서 잘못된 요청입니다. 라고 오류가 나면서 회원추가를 할수없습니다.
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' || !checkCSRF())
{
return new Object(-1, 'msg_invalid_request');
}
이렇게 바꾸면 정상적으로 작동합니다.
댓글 15
-
misol
2013.09.30 17:41
-
도라미
2013.09.30 17:43
근데 위의 코드는 아예... 회원추가기능을 못쓰게 해버리죠...
-
라르게덴
2013.09.30 17:48
보안이슈로 만들어진 코드입니다.
코드는 맞게 들어갔고요.
호환문제에 대해서는 제가 만든 멀티도메인을 사용하시든가,
개발하신 내용중에 form action에 url(도메인)을 넣지마시고 상대경로로만 값을 보내시기 바랍니다. -
도라미
2013.09.30 17:50
제가 개발중인 기능은 아니고...
주소/index.php?module=admin&act=dispMemberAdminInsert 인 xe 관리자패널에서 회원을 추가하는 부분에서 발생되는 문제입니다...
-
라르게덴
2013.09.30 17:56
한번 멀티도메인 설치하셔서 사용해보실래요?
csrf기능에 따른 불편함을 일부해소시켜놓은 모듈이거든요. 싱글도메인이라도 사용가능합니다. : ) -
도라미
2013.09.30 17:59
네... 사용해보겠습니다.
저는 회원추가 부분은 잘 사용하진 않지만... 새로 추가된 코드로 인해서 원래 작동되는게 안된다면 수정되야한다는 의도로 작성해봤습니다...
개발팀에서 이슈보시고 판단해주시겠지만요...
-
라르게덴
2013.09.30 21:46
정정합니다.
보안 이슈 개선한 코드가 조금 문제가 있네요.(코드에 오타가 있습니다.)
개발진들에게 알려줘야겠네요. : )
-
도라미
2013.09.30 22:01
$logged_info = Context::get('loggd_info'); 가
$logged_info = Context::get('logged_info'); 로 수정되야 하는거군요... -
푸시아
2013.09.30 21:59
저는 새로운 패치를 다운받지는 않았지만 현상으로 미루어 짐작해 보건대
config-func.inc.php 파일에서 대략 1419 라인쯤에 있는
function checkCSRF() 함수가 뭔가 잘못된것 같은 느낌입니다.
말씀하신 두번째 && 처리 해 버리시면 checkCSRF() 가 거짓일 경우라도 그냥 넘어가므로
보안성 체크가 안되는 것 같습니다.
-
도라미
2013.09.30 22:02
눈에 티안나는 오타가 있었네요.. -
라르게덴
2013.09.30 22:02
푸시아님... 오타가 문제였어요 ^^
checkCSRF는 별로 잘못도 없는 착한아이랍니다. :)
-
푸시아
2013.09.30 22:12
앗... checkCSRF가 수정되면서 오타가 있는줄 알았네요.
댓글 괜히 적었네요 ㅠㅠ
-
푸시아
2013.09.30 22:15
근데 이왕에 checkCSRF 를 적용할 거면,
회원가입, 게시물등록, 댓글등록 등 모든 등록하는 부분에 다 적용해 주었으면 좋겠네요~
-
銀童
2013.09.30 22:31
아... 부끄러..
-
도라미
2013.09.30 22:51
네??
checkCSRF 만 False 인 경우에도 체크가 되어야 하기 때문에 아래 대안으로 올리신 코드는 적절하지 않을 것 같아요.