채택완료

회원로그인시 비밀번호를 아무렇게나 입력해도 로그인이 됩니다.

2019-06-27 (목) 13:59:22 2,738

로그인시 아이디입력하고 비밀번호를 아무렇게나 입력해도 로그인이 됩니다.

관리자도 아이디 입력하고 비밀번호 아무렇게나 입력해도 로그인이 됩니다.

이게 도대체 무슨 일일까요? 해킹당한건가요???

어떻게 조치를 해야 하나요??

아..난감하네요..

|

답변 3개 / 댓글 1개

채택된 답변
+20 포인트
2019-06-27 (목) 14:27:17

원인을 먼저 찾아야겠지요.

로그인 처리 페이지는 /bbs/login_check.php 입니다.

패스워드가 일치하는 지 여부를 체크하는 부분은 다음의 코드 부분입니다.

Copy
if (!$is_social_password_check && (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) ) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
}

브라우저에서 입력하는 비밀번호는 제대로 넘어왔는지, DB 에 암호화되어 저장된 비밀번호 체크는 정상적으로 처리가 되는지 등을 살펴야 될 것 같습니다.

네..답변 감사드립니다..의뢰게시판에 올려볼께요

카페24에서 호스팅받고 있는데 아래와 같이 답변이 왔습니다.

어떤 조치를 취해야 하는건가요?

----------------------------------------------------------------------------------------------------

실제 로그인 암호체크는 bbs/login_check.php에서 처리하게되는데,

패스워드 입력필드에 대한 데이터 검증하는 펑션을 실행하지 않습니다.

function check_password($pass, $hash)

{

    $password = get_encrypt_string($pass);

    return ($password === $hash);

}

위 펑션은 lib/common.lib.php 에 정의되어있고, 그누보드5 정상 소스라면 아래 조건으로
mb_password 필드값 ( 암호를 받는 폼필드네임 ) 을 check_password로 검수해야하나,

이를 검증하지 않기때문에 아무 패스워드나 로그인 처리가 되는것으로 보입니다.

if (!$is_social_password_check && (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) ) {

    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\n비밀번호는 대소문자를 구분합니다.');

}

즉 bbs/login_check.php 파일에서 check_password() 를 실행하지 않아 로그인검증이 되지 않는것으로 보이오니,

개발자 단에서 소스부분을 다시 검토바랍니다.

답변에 대한 댓글 1개

2019-06-27 (목) 15:32:02
지금의 정보만으로는 구체적인 원인을 찾기가 어려을 것 같습니다.

직접 원인 규명/해결처리가 어렵다면,

의뢰 게시판에 https://sir.kr/request

의뢰를 검토해보시는 것이 좋을 것 같습니다.

답변을 작성하려면 로그인이 필요합니다.