이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
A6 - Text Files (Accounts)
개인 정보 및 서버의 중요 정보 데이터가 파일 및 다운로드가 가능하다면 주된 공격 대상이 됩니다.
난이도 하
insecure_crypt_storage_2.php 페이지를 살펴보면 로그인이 가능합니다.
bee 계정으로 로그인 시 'The account was added!'라는 메시지와 함께 아라에 파일을 다운로드하거나 삭제할 수 있는 링크가 생성이 됩니다.
Download 링크를 클릭하면 계정 정보가 있는 accounts.txt 파일로 이동하고 해당 파일을 확인해 보면 사용자가 입력한 계정 정보가 평문으로 저장되어 있는 것을 확인할 수 있습니다.
난이도 중
난이도 중에서도 사용자의 계정 정보를 입력하고 [Insert] 버튼을 클릭 후에 Download 링크를 확인해 보도록 하겠습니다.
accounts.txt 파일을 확인하면 난이도 하와는 다르게 사용자의 비밀번호를 해시 값으로 출력하는 것을 알 수 있습니다. 해시 함수는 일방향 함수라서 해시 값으로 원문을 찾아내기 힘들지만, 이미 깨진 해시 함수를 사용하거나 salt를 사용하지 않을 경우 원문을 찾아낼 수 있습니다.
그럼 먼저 해시 함수의 유형을 살펴보도록 하겠습니다. (https://github.com/blackploit/hash-identifier)
해시 함수를 확인해 보면 SHA-1이라는 것을 알 수 있고 원문 변환 사이트를 통하여 값을 확인해 보도록 하겠습니다.
사용자의 해시 함수를 입력하고 Crack Hashes를 입력하면 원문을 확인할 수 있고, 이미 깨진 함수를 사용하고 있어 민감 데이터 노출에 취약하다는 것을 알 수 있습니다.
난이도 상
난이도 상에서도 계정 정보를 입력하고 Download 링크를 클릭하고 accounts.txt 페이지를 확인해보면 난이도 하/중 과는 다르게 salt라는 내용이 추가되어 있는 것을 확인할 수 있습니다.
salt는 해시 함수를 더 안전하게 만드는 역할로 난이도 상에서 만들어진 해시 값은 비밀번호와 salt로 사용된 문자열을 합친 해시 값이어서 해시 함수에 사용된 salt값을 모르는 경우 비밀번호를 알아낼 수 없습니다.
참고
https://ko.wikipedia.org/wiki/%EC%86%94%ED%8A%B8_(%EC%95%94%ED%98%B8%ED%95%99)
https://github.com/blackploit/hash-identifier
'Code::Security > 비박스(BWAPP)' 카테고리의 다른 글
비박스(bWAPP) A7 Directory Traversal - Directories (0) | 2022.09.21 |
---|---|
비박스(bWAPP) A7 Missing Functional Level Access Control (기능 수준의 접근 통제 누락) (0) | 2022.09.21 |
비박스(bWAPP) A6 POODLE Vulnerability (0) | 2022.09.19 |
비박스(bWAPP) A6 HTML5 Web Storage (Secret) (0) | 2022.09.19 |
비박스(bWAPP) A6 Heartbleed Vulnerability (0) | 2022.09.19 |