bWAPP A4 Insecure DOR (Order Tickets)
itsecgames.com
www.itsecgames.com
15 유로 당 티켓 1장을 주문할 수 있는 웹페이지이다.
위와 같이 3장 구입 시 45 유로가 된다.
low
burp로 프록시를 잡으면 위와 같이 ticket_price 파라미터의 값으로 15가 전달된다.
ticket_price 파라미터의 값을 위와 같이 1로 수정한다.
그리고 실행하면 위와 같이 티켓 1장 당 1유로로 주문하여 총 3유로가 지불된다.
medium
medium 레벨이다. burp로 프록시를 잡으면 low 레벨과 다르게 ticket_price 파라미터가 보이지 않는다. 서버에서 디폴트로 설정되어 있는지 모르겠지만, 임의로 body에 ticket_price 파라미터 값을 추가해보자.
[사진 7]과 같이 ticket_price 파라미터를 추가하고 값을 2로 설정하고 실행한다. 그럼 위와 같이 티켓 1장 당 2유로로 계산되어 총 6유로가 지불된다. low 레벨에서 티켓 가격을 의미하는 ticket_price 파라미터 이름을 알았기에 가능한 공격이지만, 유추할 수 있는 파라미터를 서버에서 사용할 경우 추측을 통해 이번 문제의 medium 레벨처럼 공격이 가능할 수 있겠다.
high
high 레벨이다. medium 레벨과 마찬가지로 body에 ticket_price 파라미터가 존재하지 않아 임의로 값을 설정하였지만 위와 같이 티켓 가격이 변조되지 않고 총 45 유로가 지불되었다.
먼저 low 레벨 서버 코드를 보면 ticket_price 파라미터의 값이 그대로 웹페이지로 출력되는 것을 확인할 수 있다.
medium 레벨의 서버 코드를 보면 ticket_price 파라미터가 설정되어 있으면 해당 값을 ticket_price 변수에 설정한다. 이렇기 때문에 medium 레벨에서 임의로 ticket_price 파라미터를 설정하면 티켓 가격을 변조할 수 있었다.
high 레벨의 경우 [사진 10], [사진 11] 어디에도 해당되지 않고 디폴트 값인 15가 변경되지 않는다. 따라서 티켓 가격 변조는 불가능하다.
'Wargame > bWAPP' 카테고리의 다른 글
bWAPP A4 Insecure DOR (Reset Secret) (0) | 2020.11.24 |
---|---|
bWAPP A4 Insecure DOR (Change Secret) (0) | 2020.11.24 |
bWAPP A3 Cross-Site-Scripting - Stored (User-Agent) (0) | 2020.11.24 |
bWAPP A3 Cross-Site-Scripting - Stored (SQLiteManager) (0) | 2020.11.24 |
bWAPP A3 Cross-Site-Scripting - Stored (Cookies) (0) | 2020.11.24 |