annyoung

모의해킹 시 해시(hash)에 대해 본문

모의해킹

모의해킹 시 해시(hash)에 대해

nopsled 2022. 11. 22. 17:44

모의해킹을 진행하다보면 별의 별 hash들을 만날 수 있다.

모의해킹을 하면서 내가 느낀 고정관념일 수도 있는데 대부분 32자리를 사용하는 경우 MD5, 64자리는 SHA256를 사용하는 경우가 대다수였다.


첫 번째 예시

모의해킹 하다가 이메일, 핸드폰 번호, 집주소 등으로 이용해서 A서비스와 B서비스에 가입을했다.

각각의 서비스 사용자 조회 API를 보면 네트워크 패킷에서 64자리인 cc7330db2d1b586aa9e6125c701f10c9632f9da5ef1a3c32522f44d1704260f9처럼 해쉬가 보여졌었다.

A서비스와 B서비스가 같은 해쉬를 사용한다는 것은 Hash salt를 하지 않거나 가입한 회원들의 정보로 unique key를 만든다고 가정할 수 있다. 따라서 핸드폰번호, 이메일, 이름 등을 모두 SHA256으로 암호화해봤고 알고보니 이메일 주소였던 것 이었다.

정보를 조회하는 것에만 미치지 않고 쿠키에 존재하는 세션 값이 32자리 또는 64자리로 고정적으로 사용된다는 경우도 의심해봐야 한다.(어차피 고정적인 세션을 사용하는 것 조차 취약점으로 치기 때문에 암호화한 값을 몰라도 취약점으로 인정하면 된다.)

두 번째 예시

휴대폰 인증을할 때 인증번호를 보내게 되는데 인증요청 시 서버 사이드에서 클라이언트 사이드로 인증번호를 MD5로 노출하고 있었다.

6자리 숫자로 만든 MD5나 SHA256은 구글 검색 시 대부분 보여지기 때문에 인증번호를 우회할 수 있다는 점이 있다.

Comments