Code::Security/비박스(BWAPP)

비박스(bWAPP) A7 Host Header Attack (Reset Poisoning)

태군 코드 2022. 9. 27. 15:33
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.

 

A7 - Host Header Attack (Reset Poisoning)

 

Password Reset Poisoning

생성된 비밀 토큰을 사용하는 암호 재설정 링크를 만들 때 암호 재설정 기능에 호스트 헤더 값이 포함되는 것이 일반적입니다. 응용 프로그램이 공격자가 제어하는 도메인을 처리하여 암호 재설정 링크를 만드는 경우 공격 대상자는 전자 메일의 링크를 클릭하고 공격자가 재설정 토큰을 얻을 수 있도록 허용하여 피해자의 암호를 재설정할 수 있습니다.

 

https://portswigger.net/

 

hostheader_2.php

hostheader_2.php 페이지를 살펴보면 비밀번호를 재설정하려면 이메일 주소를 입력하라는 문구와 이메일 주소를 적을 수 있는 텍스트 창이 보입니다. 그럼 임의의 이메일 주소를 입력 후 Reset 버튼을 눌러보도록 하겠습니다.

 

이메일 주소 입력

이메일 주소를 입력하면 전자 메일을 보낼수 없다는 메시지를 확인할 수 있고, 해당 비박스 페이지에서는 전자 메일을 보내는 기능을 제공하지 않는 것 같습니다.

 

hostheader_2.php 소스코드

소스코드를 확인해 보면 이메일로 전달 되는 값을 content 변수에 담고 있는 것을 확인하였고, 소스코드를 수정하여 content 변수의 내용을 페이지에 출력을 해보도록 하겠습니다.

 

hostheader_2.php 소스코드 수정

hostheader_2.php 페이지의 소스코드에서 content 변수에 담고 있는 내용을 페이지에 출력을 할 수 있게 수정을 하였습니다.

 

소스코드 수정후 Reset 버튼 클릭

소스코드 수정후 이메일 주소를 입력하고 다시 Reset 버튼을 누르면 reset_code 값이 노출이 되는것을 확인할 수 있습니다.

 

http://localhost/bWAPP/secret_change.php?email=test01%40bwapp.com&reset_code=2360efef518bb2de092db71401bd90d40fe9d8d2

 

만일 실제 악성 링크를 보낼 수 있다면 사용자의 계정 탈취로 이어질 것입니다.

 

그럼 여기서 추가로 확인해야 할 부분은 프락시 툴을 이용하여 Host Header 부분을 수정하고 다시 한번 값을 비교해 보시기 바랍니다.

 

 

반응형