티스토리 뷰
WebGoat docker image를 실행하고 서비스에 접속하면 가장 먼저 로그인 기능을 확인할 수 있습니다.
애플리케이션 보안에서 가장 중요한 것은 역시 인증 및 인가이기 때문에, WebGoat에서 제공하는 취약한 코드외에 실제 로그인 과정에서는 어떠한 방식으로 구현되어 있고, 그 과정에서 인증을 우회할 수 있는 부분은 없을지 확인하였습니다..
Login 페이지에 대한 URL을 확인해보니, "/WebGoat/login" 이였습니다. 소스코드에 가서 /WebGoat/login 을 검색해보니 특별히 검색되는 코드가 존재하지 않습니다. "/WebGoat"는 Controller에서 공통으로 지정해 두었을 수도 있기 때문에 이번에는 "/login"으로 검색해 보았습니다, 검색되는 파일이 꽤 존재하는데 이 중에 Login을 처리하는 서비스 로직(ex. loginProcessingUrl)이 검색되지 않았지만, Spring Security 를 통해 로그인을 구성하고 있는 것이 확인되었습니다
로그인 처리 URL을 따로 처리하지 않은 것으로 보았을 때, 기본 방식을 유지한 것으로 보이나, UserDetails 등의 다른 클래스에서 처리하고 있는 로직이 있는지 다시 한번 확인해보아야 겠습니다. UserDetailsService를 상속받는 클래스가 확인하였으나, 이 곳에서도 특별히 인증 과정을 직접 구현하지 않은 것을 확인하였습니다.
사용자 정의 구현 부분이 존재한다면, 좀 더 자세히 우회가 가능한지 확인해볼 수 있었겠으나, AuthenticationManager를 이용한 인증방식을 그대로 이용하고 있어, 특별히 우회가 가능할 것으로 보이지는 않습니다.
'Web Analytics > WebGoat' 카테고리의 다른 글
WebGoat 분석 - Authorization (0) | 2024.02.14 |
---|---|
WebGoat 분석 - Authentication (0) | 2024.02.14 |
WebGoat 분석 - 회원가입 (0) | 2024.01.28 |
WebGoat 분석 - 로그아웃 (0) | 2024.01.28 |
WebGoat 코드리뷰 시작 (0) | 2024.01.28 |
- Total
- Today
- Yesterday