본문 바로가기
3. 웹 애플리케이션 취약점 진단/비박스를 활용한 웹 애플리케이션 취약점 진단

[비박스를 활용한 웹 취약점 진단] 8-2.취약한 직접 객체 참조 [Order Tickets]

by Robert8478 2023. 12. 13.

이번 페이지는 티켓 주문 기능이 있다. 티켓의 가격을 조작해보자.

[난이도 하]

개발자 도구(f12)의 소스코드를 보면 hidden 속성으로 숨겨져있는 input 폼이 보인다. ticket의 가격을 가진 코드인듯 하다.
value 값은 15, 즉 15유로를 뜻하는것 같은데 이것을 1로 변경하고 Confirm 버튼을 눌러보자

그 결과 한개의 티겟을 구매했는데 1 유로의 가격으로 구매가 되었다.

[난이도 중,상]

난이도 중과 상에서는 티켓 가격을 수정할 수 있던 hidden 속성의 변수가 개발자 도구에 노출되지 않는다.
서버에서 값을 받아와 데이터베이스에 전달될 때까지 사용자가 수정하지 못하도록 대응하고 있는 것이다.
이처럼 가격과 같이 변하면 안되는 데이터의 경우 웹페이지 개발자 도구나 소스코드에서 사용자에게 변수가 드러나지 않도록 해야한다.