해커 팩토리(Hacker Factory) - 웹 워게임 초급해킹 문제-3 풀이 과정
해커 팩토리(Hacker Factory) - 웹 워게임 초급해킹 문제-3 풀이 과정
워게임 사이트인 해커 팩토리의 초급해킹 문제-3에 대해 풀어보고자 한다.
해커 팩토리의 정식 사이트는 https://hackerfactory.co.kr/ 이다.
풀이 과정은 다음과 같다.
1. 문제유형 확인
먼저 문제풀이에 앞서 문제를 확인한다.
좌측의 [웹워게임] - [초급해킹] - [문제-3] 클릭하여 문제를 확인하면, 새로 도입한 핸드폰 결제시스템을 이용하여 상품을 구매하는 문제로, [문제-2]와 비슷한 문제 유형임을 알 수 있다.
하단의 [문제접속]을 클릭하면 아래와 같이 상품구매 페이지가 출력됨을 확인할 수 있다.
2. 정상적으로 상품 구매 시, 동작방법을 확인한다.
[그림 3]에서 '슈퍼 파워 컴퓨터'의 [상세보기] 메뉴를 클릭하면 아래와 같이 구매를 위한 페이지가 출력되고, [구매하기]를 클릭하여 구매를 시도한다.
결제를 위해 4가지 방법이 존재하나, '휴대폰 간편결제' 항목만 정상적으로 결제가 진행된다.
따라서 '휴대폰 간편결제'를 선택하고, [다음]을 클릭하여 상품 구매를 진행한다.
휴대폰 간편 결제를 위해 '이름', '통신사 선택', 휴대폰 번호'를 입력하는 창이 출력된다.
간단하게 입력 후, 우측 하단의 [결제하기] 를 클릭한다.
'결제 금액 부족' 이라는 경고 메시지와 함께 정상적으로 결제가 되지 않는 것을 확인할 수 있다.
3. '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인한다.
결제 금액 조작을 위해 '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인해보았다.
웹프록시(Burp Suite) 도구를 실행시키고 브라우저와 연동 후, 아래 [그림 8] 화면과 같이 '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인한다.
웹프록시(Burp Suite) 도구를 통해 확인해보면, 서버로 송신되는 요청문은 POST 방식으로 전송된다.
하단의 HTTP Body 부분을 살펴보면 핸드폰 결제를 위한 다수의 파라미터들을 확인할 수 있으며, 각 파라미터를 추측해보면 다음과 같다.
여기서 구매할 상품의 가격 조작을 위해, 유심히 봐야하는 파라미터는 3개(OriginalCost, CostDC, TotalCost)이다.
# 파라미터 확인 - GoodsCode : 상품코드 - OriginalCost : 상품의 원래 가격(할인 전 가격) - CostDC : 할인가격 - GoodsCnt : 상품개수 - DeliveryCost : 배송가격 - DeliveryFreeFlag : 무료배송 여부 플래그 - TotalCost : 총 가격 - PaymentAction : 결제동작 - UserName : 구매자 이름 - Agency : 휴대폰 통신사 - cellphone : 휴대폰 번호 - amount : 수량(?) |
구매 금액 조작을 위해 아래 [그림 10]와 같이 CostDC와 TotalCost 파라미터 값을 조작한다.
'원래 가격(OriginalCost) - 할인 가격(CostDC) = 총 가격(TotalCost)' 가 성립되도록 CostDC의 값은 10000000, TotalCost 값은 0으로 수정해주었다.
(※ 초급문제-2와 달리, 초급문제-3에서는 웹 프록시를 이용하여 TotalCost만 0으로 전송할 경우에도 정상적으로 결제가 완료됨을 확인하였다.)
아래와 같이 정상적으로 결제가 완료되었다는 메시지와 인증키를 확인할 수 있다.
4. 획득한 인증키를 통해 인증을 시도한다.
좌측의 [인증] 메뉴를 클릭 후, 인증키 입력을 통해 인증을 시도한다.
인증이 정상적으로 완료되면 아래와 같은 화면을 확인할 수 있다.