본문 바로가기
3. 웹 애플리케이션 취약점 진단/비박스를 활용한 웹 애플리케이션 취약점 진단

[비박스를 활용한 웹 취약점 진단] 10-3. 민감한 데이터 노출 [중요정보 텍스트파일 저장]

by Robert8478 2023. 12. 14.

이번 페이지는 입력한 사용자 계정 정보를 텍스트 파일로 웹 서버에 저장 후 사용자가 계정 정보가 저장된 파일을 다운하는 기능을 제공한다.

[난이도 하]

계정정보를 입력하고 Insert를 누르면 파일을 다운로드하거나 삭제하는 링크가 생긴다.

Download를 누르면 저장된 데이터가 평문으로 노출되어 민감한 데이터 노출에 취약한 것을 확인할 수 있다.

[난이도 중]

난이도 중에서는 보다시피 비밀번호 값이 해시값으로 저장된 것을 볼 수 있다. 이 해시값을 복호화 해보자.
해시 함수는 일방향 함수기 때문에 해시값으로 원문을 찾아내는것은 힘들지만, 이미 깨진 해시 함수를 사용하거나 salt값을 쓰지 않으면 원문을 찾아낼 수도 있다.

https://crackstation.net/

 

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.

Free Password Hash Cracker Enter up to 20 non-salted hashes, one per line: Supports: LM, NTLM, md2, md4, md5, md5(md5_hex), md5-half, sha1, sha224, sha256, sha384, sha512, ripeMD160, whirlpool, MySQL 4.1+ (sha1(sha1_bin)), QubesV3.1BackupDefaults How Crack

crackstation.net

CrackStation 홈페이지에 해시값을 넣어본 결과 원문 값이 노출된 것을 볼 수 있다. 이처럼 이미 깨진 해시 함수를 사용하면 값이 노출될수 있다.

[난이도 상]

난이도 상에서는 해시값에 salt값이 추가되어 있는것을 볼 수 있다.
salt는 해시 함수를 더 안전하게 만드는 역할을 한다. 위 해시값은 비밀번호와 salt로 만들어진 랜덤 문자열을 합친 해시값이기 때문에 salt값을 모르는 경우 비밀번호를 알아낼 수 없게 된다.

사이트에 해시값을 넣어보면 값을 찾아내지 못하는 것을 볼 수 있다.