Code::Security/비박스(BWAPP)

비박스(bWAPP) A2 Broken Auth. - Forgotten Function

태군 코드 2022. 6. 13. 17:49
반응형

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

 

인증 결함(Broken Authentication)이란 인증에 필요한 사용자의 계정 정보를 노출하는 취약점으로 보통 웹 페이지의 HTML 코드에 계정 정보를 노출하거나 인증을 GET 메서드로 요청하여 URL에 계정 정보가 노출되기도 합니다. 웹 사이트 가입 시 추측할 수 있거나 무차별 대입 공격이 가능한 비밀번호(예 1234, admin 등) 입력을 허용하는 경우도 포함됩니다. 이외에도 비밀번호 찾기 기능에서 사용자의 계정 정보를 노출하기도 합니다.

 

A2 - Broken Auth - Forgotten Function

 

A2 Broken Auth - Forgotten Functhon

해당 문제는 비밀번호를 잊어 버렸을 경우 E-mail 주소 인증을 통하여 비밀번호를 알려주는 페이지입니다.

 

의미 없는 E-Mail 주소 입력

의미 없는 E-Mail 주소 입력 시 잘못된 사용자라는 문구가 출력되는 것을 확인할 수 있습니다. 그럼 BWAPP에 등록된 E-Mail 주소를 찾아 확인을 해보도록 하겠습니다.

 

사용자 정보 확인은 앞에서 다룬 SQL Injection을 참고하여 확인하실 수 있습니다.

https://securitycode.tistory.com/133?category=865775

 

비박스(bWAPP) SQL Injection (Login Form/User)

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

securitycode.tistory.com

 

DB에서 사용자 정보 조회

또 다른 방법으로는 DB에서 사용자 정보를 조회하여 확인하는 방법이 있습니다.

 

E-mail 입력시 정보 출력

확인한 정보로 E-mail 주소를 입력 시 아무런 검증 없이 계정 정보와 패스워드가 노출되는 것을 확인할수 있습니다.

반응형

 

Level - Medium
ba_forgotten.php 소스코드 확인

Level Medium 단계에서는 이메일을 통하여 계정정보와 패스워드를 그대로 발송하는 것을 확인할 수 있습니다.

 

Level High ba_forgotten.php 소스코드 확인

Level High 단계에서는 랜덤 문자열을 SHA-1 암호화 해시 함수로 reset_code를 만들어 보내주고 있습니다. Level Medium 단계에서 기존의 비밀번호를 알려주는 방법보다 이처럼 reset_code를 통해 강제로 초기화를 수행하게 하는 방법이 더 안전한 인증이라고 볼 수 있습니다.

반응형