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

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

QA

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

답변 3

본문

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

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

 

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

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

 

아..난감하네요..

 

이 질문에 댓글 쓰기 :

답변 3

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

 

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

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


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() 를 실행하지 않아 로그인검증이 되지 않는것으로 보이오니,

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

지금의 정보만으로는 구체적인 원인을 찾기가 어려을 것 같습니다.

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,110
© SIRSOFT
현재 페이지 제일 처음으로