본문 바로가기
3. 웹 애플리케이션 취약점 진단

프로세스 검증 누락 - 항공권을 공짜로 예매하는 것은 결제 취약점만 막으면 될까?

by Robert8478 2024. 6. 21.

이번 점검에서 항공권을 무료로 구매할 수 있는 취약점을 발견했다. 이러한 취약점은 어려운 방법도 존재하지만, 알다시피 사이버 공격은 매운 쉬운 방식이 크리티컬한 영향력을 끼치는 경우도 많다.

즉, 언제나 어려운 방식으로만 생각할 필요가 없다.

이번에 발견된 부분은 바로 “이벤트” 항목인데, 이런 이벤트 항목에서 무료로 1회 포인트를 지급해 주는 이벤트가 발견됐다.

이벤트를 1회 진행하면 더 이상 진행할 수 없는데 이러한 로직을 클라이언트 단에 구축이 되어있을 경우 로직이 적용되는 class 속성을 제거하면 진행 방지 로직을 우회할 수 있는 경우가 존재한다.

여기서 class 속성을 제거함으로써 무제한으로 해당 이벤트에 참여가 가능했다.

또한 최종적으로 이러한 포인트를 실제로 전부다 사용이 가능한지 여부를 파악해야 한다. 항공권 결제를 해보니 별다른 우회 없이 모든 포인트를 사용할 수 있었고, 나는 유류 할증료 및 사용료만 결제하면 기본 항공권은 무료로 즐길 수 있게 된 것이다.

이처럼 웹 취약점은 매우 간단한 방식으로도 크리티컬한 피해를 끼칠 수 있다는 것을 배울 수 있다.