ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 해커 팩토리(Hacker Factory) - 웹 워게임 초급해킹 문제-3 풀이 과정
    워게임(Wargame)/해커 팩토리(Hacker Factory) 2020. 1. 19. 21:30

     

    해커 팩토리(Hacker Factory) - 웹 워게임 초급해킹 문제-3 풀이 과정

     

    워게임 사이트인 해커 팩토리의 초급해킹 문제-3에 대해 풀어보고자 한다.

    해커 팩토리의 정식 사이트는 https://hackerfactory.co.kr/ 이다.

     

    [그림 1] 풀이 대상인 초급해킹 문제-3

     

    풀이 과정은 다음과 같다.

     

    1. 문제유형 확인

    먼저 문제풀이에 앞서 문제를 확인한다.

    좌측의 [웹워게임] - [초급해킹] - [문제-3] 클릭하여 문제를 확인하면, 새로 도입한 핸드폰 결제시스템을 이용하여 상품을 구매하는 문제로, [문제-2]와 비슷한 문제 유형임을 알 수 있다.

     

    [그림 2] 초급해킹 문제-3 확인

     

    하단의 [문제접속]을 클릭하면 아래와 같이 상품구매 페이지가 출력됨을 확인할 수 있다.

     

    [그림 3] 문제-3 접속 화면

     

    2. 정상적으로 상품 구매 시, 동작방법을 확인한다.

    [그림 3]에서 '슈퍼 파워 컴퓨터'의 [상세보기] 메뉴를 클릭하면 아래와 같이 구매를 위한 페이지가 출력되고, [구매하기]를 클릭하여 구매를 시도한다.

     

    [그림 5] 상품 구매 페이지 화면

     

    결제를 위해 4가지 방법이 존재하나, '휴대폰 간편결제' 항목만 정상적으로 결제가 진행된다.

    따라서 '휴대폰 간편결제'를 선택하고, [다음]을 클릭하여 상품 구매를 진행한다.

     

    [그림 5] 결제 시스템 화면

     

    휴대폰 간편 결제를 위해 '이름', '통신사 선택', 휴대폰 번호'를 입력하는 창이 출력된다.

    간단하게 입력 후, 우측 하단의 [결제하기] 를 클릭한다.

     

    [그림 6] 휴대폰 간편 결제 화면

     

    '결제 금액 부족' 이라는 경고 메시지와 함께 정상적으로 결제가 되지 않는 것을 확인할 수 있다.

     

    [그림 7] 휴대폰 간편 결제 실패 화면

     

    3. '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인한다.

    결제 금액 조작을 위해 '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인해보았다.

    웹프록시(Burp Suite) 도구를 실행시키고 브라우저와 연동 후, 아래 [그림 8] 화면과 같이 '휴대폰 간편 결제' 시 서버로 전송되는 정보를 확인한다.

     

    [그림 8] 휴대폰 간편 결제 시도

     

    웹프록시(Burp Suite) 도구를 통해 확인해보면, 서버로 송신되는 요청문은 POST 방식으로 전송된다.

    하단의 HTTP Body 부분을 살펴보면 핸드폰 결제를 위한 다수의 파라미터들을 확인할 수 있으며, 각 파라미터를 추측해보면 다음과 같다.

     

    여기서 구매할 상품의 가격 조작을 위해, 유심히 봐야하는 파라미터는 3개(OriginalCost, CostDC, TotalCost)이다.

     

    # 파라미터 확인

    - GoodsCode : 상품코드

    - OriginalCost : 상품의 원래 가격(할인 전 가격)

    - CostDC : 할인가격

    - GoodsCnt : 상품개수

    - DeliveryCost : 배송가격

    - DeliveryFreeFlag : 무료배송 여부 플래그

    - TotalCost : 총 가격

    - PaymentAction : 결제동작

    - UserName : 구매자 이름

    - Agency : 휴대폰 통신사

    - cellphone : 휴대폰 번호

    - amount : 수량(?)

     

    [그림 9] 휴대폰 간편 결제 시 전송되는 파라미터 확인

     

    구매 금액 조작을 위해 아래 [그림 10]와 같이 CostDC와 TotalCost 파라미터 값을 조작한다.

    '원래 가격(OriginalCost) - 할인 가격(CostDC) = 총 가격(TotalCost)' 가 성립되도록 CostDC의 값은 10000000, TotalCost 값은 0으로 수정해주었다.

    (※ 초급문제-2와 달리, 초급문제-3에서는 웹 프록시를 이용하여 TotalCost만 0으로 전송할 경우에도 정상적으로 결제가 완료됨을 확인하였다.)

     

    [그림 10] 휴대폰 간편 결제 시 CostDC, TotalCost 파라미터 수정

     

    아래와 같이 정상적으로 결제가 완료되었다는 메시지와 인증키를 확인할 수 있다.

     

    [그림 11] 정상 결제 완료 화면

     

    4. 획득한 인증키를 통해 인증을 시도한다.

    좌측의 [인증] 메뉴를 클릭 후, 인증키 입력을 통해 인증을 시도한다.

    인증이 정상적으로 완료되면 아래와 같은 화면을 확인할 수 있다.

     

    [그림 12] 초급문제-3 인증 완료 화면


    댓글

Designed by Tistory.