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

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

QA

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

본문

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

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

 

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

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

 

아..난감하네요..

 

이 질문에 댓글 쓰기 :

답변 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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 665
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT