이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
A7 - Host Header Attack (Reset Poisoning)
Password Reset Poisoning
생성된 비밀 토큰을 사용하는 암호 재설정 링크를 만들 때 암호 재설정 기능에 호스트 헤더 값이 포함되는 것이 일반적입니다. 응용 프로그램이 공격자가 제어하는 도메인을 처리하여 암호 재설정 링크를 만드는 경우 공격 대상자는 전자 메일의 링크를 클릭하고 공격자가 재설정 토큰을 얻을 수 있도록 허용하여 피해자의 암호를 재설정할 수 있습니다.
hostheader_2.php 페이지를 살펴보면 비밀번호를 재설정하려면 이메일 주소를 입력하라는 문구와 이메일 주소를 적을 수 있는 텍스트 창이 보입니다. 그럼 임의의 이메일 주소를 입력 후 Reset 버튼을 눌러보도록 하겠습니다.
이메일 주소를 입력하면 전자 메일을 보낼수 없다는 메시지를 확인할 수 있고, 해당 비박스 페이지에서는 전자 메일을 보내는 기능을 제공하지 않는 것 같습니다.
소스코드를 확인해 보면 이메일로 전달 되는 값을 content 변수에 담고 있는 것을 확인하였고, 소스코드를 수정하여 content 변수의 내용을 페이지에 출력을 해보도록 하겠습니다.
hostheader_2.php 페이지의 소스코드에서 content 변수에 담고 있는 내용을 페이지에 출력을 할 수 있게 수정을 하였습니다.
소스코드 수정후 이메일 주소를 입력하고 다시 Reset 버튼을 누르면 reset_code 값이 노출이 되는것을 확인할 수 있습니다.
http://localhost/bWAPP/secret_change.php?email=test01%40bwapp.com&reset_code=2360efef518bb2de092db71401bd90d40fe9d8d2
만일 실제 악성 링크를 보낼 수 있다면 사용자의 계정 탈취로 이어질 것입니다.
그럼 여기서 추가로 확인해야 할 부분은 프락시 툴을 이용하여 Host Header 부분을 수정하고 다시 한번 값을 비교해 보시기 바랍니다.
'Code::Security > 비박스(BWAPP)' 카테고리의 다른 글
비박스(bWAPP) A7 Remote & Local File Inclusion (RFI/LFI) (0) | 2022.09.28 |
---|---|
비박스(bWAPP) A7 SQLiteManager Local File Inclusion (0) | 2022.09.27 |
비박스(bWAPP) A7 Directory Traversal - Files (0) | 2022.09.22 |
비박스(bWAPP) A7 Directory Traversal - Directories (0) | 2022.09.21 |
비박스(bWAPP) A7 Missing Functional Level Access Control (기능 수준의 접근 통제 누락) (0) | 2022.09.21 |