2016-12-05 4 views
-1

내 아파트에서 건물에서 관리하는 개인용 WiFi 네트워크에 연결합니다. 인터넷에 연결하려면 인트라넷 서버에서 제공하는 웹 페이지를 통해 로그인해야합니다.안전하지 않은 로그인 가능성

내 브라우저가 내 사용자 이름과 암호를 저장하도록 요청하지 않는다는 점에 대해, 나는 그 소스가 어떻게 완료되었는지 확인하기로 결정했습니다. 그렇게되면, 나는 소금을 것으로 보이는와 비밀번호를 컴파일 이상한 JS 코드에 충돌 한 후 hexMD5로 변환 : 암호를 소금에 절인되고

password = hexMD5(
    '\360' + 
    document.login.password.value + 
    '\123\076\310\204\336\276\065\360\375\311\365\076\031\311\360\117' 
) 

경우 그와 같은 해시, 반드시 같은 것 서버에서 수행해야합니다. 그러면 암호가 일반 텍스트로 저장됩니다. 나는 이것에 문제가있을 수 있지만, 나는 다른 어떤 방법도보고 있지 않다.

이 내용에 대한 통찰력이 가장 높이 평가 될 것이며이 질문이 다른 SE 사이트에 대한 스위트인지 알려 주시기 바랍니다.

+1

이 질문은 http://security.stackexchange.com/ – George

+0

에 더 적절하게 배치 될 것이라고 말하고 싶습니다. @ George, thanks -이 하나를 지우고 이동해야합니까, 아니면 사회자 인 경우 더 좋을까요? 이사 왔어? –

+0

음 ... 서버가 일반 텍스트 버전을 저장하고 각 로그인 시도 중에 해싱하는 대신 해시 된 버전의 암호를 저장하는 것이 더 쉽지는 않습니까? 그럼에도 불구하고 우리는 서버가 무엇을하는지 또는하지 않거나 어떻게 안전하다고할지 모릅니다. – deceze

답변

1

나는 hexMD5()가 임의의 문자열을 MD5 해시로 변환하는 구현이라고 가정합니다. 이것이 사실이면 암호가 일반 텍스트로 저장되지 않습니다.

백엔드는 MD5 해시를 저장하고 저장된 해시를 로그인에서받은 해시와 비교할 수 있습니다.

로 로그인 할 때마다 소금을 새로 만들면 구현이 md5(salt + md5(password))과 유사하지 않은 한 비밀번호를 일반 텍스트로 저장할 수 있습니다.

보안에 더 많은 정보가 필요한 경우 해시에 대한 많은 스레드가 있습니다.

+0

문제는 다시로드 할 때 암호를 둘러싼 소금이 변하고 모두 해시되고 있다는 것입니다. –

+0

@MikeRockett 소금이 MD5 해시와 함께 전송되면 문제가되지 않습니다. 그들은 단지 소금도 저장할 것입니다. 그리고 전송되지 않더라도 세션에 저장할 수 있습니다. –

+0

그렇다면 서버가 모두 해시 된 것을 감안할 때 내 암호를 모르면 서버는 어떻게 동일한 해시를 얻게됩니까? 비밀 번호가 별도로 해시했다면, 그것은 나에게 의미가있을 것입니다 ... –