Project: Wordpress Plugin GNUPAY – NHN KCP 1.2.3

Vulnerability: #7782190 (2018-03-13 19:12:10)

Warning

There are many false positives, or unexploitable vulnerabilities. Please create working "PoC" exploit before reporting anything to vendor!

Details:

Sink PHP::echo
Risk _POST
/gnupay-kcp/kcp/m_order_approval_form.php:52 (show/hide source)
32       include_once(GNUPAY_KCP_PATH.'kcp/settle_kcp.inc.php');       // 환경설정 파일 include
33  ?>
34  <?php
35      /* = -------------------------------------------------------------------------- = */
36      /* =   환경 설정 파일 Include END                                               = */
37      /* ============================================================================== */
38  ?>
39  <?php
40      /* kcp와 통신후 kcp 서버에서 전송되는 결제 요청 정보*/
41      $req_tx          = isset($_POST["req_tx"]) ? gp_check_array_sanitize($_POST["req_tx"]) : ''; // 요청 종류
42      $res_cd          = isset($_POST["res_cd"]) ? gp_check_array_sanitize($_POST["res_cd"]) : ''; // 응답 코드
43      $tran_cd         = isset($_POST["tran_cd"]) ? gp_check_array_sanitize($_POST["tran_cd"]) : ''; // 트랜잭션 코드
44      $ordr_idxx       = isset($_POST["ordr_idxx"]) ? gp_check_array_sanitize($_POST["ordr_idxx"]) : ''; // 쇼핑몰 주문번호
45      $good_name       = isset($_POST["good_name"]) ? gp_check_array_sanitize($_POST["good_name"]) : ''; // 상품명
46      $good_mny        = isset($_POST["good_mny"]) ? gp_check_array_sanitize($_POST["good_mny"]) : ''; // 결제 총금액
47      $buyr_name       = isset($_POST["buyr_name"]) ? gp_check_array_sanitize($_POST["buyr_name"]) : ''; // 주문자명
48      $buyr_tel1       = isset($_POST["buyr_tel1"]) ? gp_check_array_sanitize($_POST["buyr_tel1"]) : ''; // 주문자 전화번호
49      $buyr_tel2       = isset($_POST["buyr_tel2"]) ? gp_check_array_sanitize($_POST["buyr_tel2"]) : ''; // 주문자 핸드폰 번호
50      $buyr_mail       = isset($_POST["buyr_mail"]) ? gp_check_array_sanitize($_POST["buyr_mail"]) : ''; // 주문자 E-mail 주소
51      $use_pay_method  = isset($_POST["use_pay_method"]) ? gp_check_array_sanitize($_POST["use_pay_method"]) : ''; // 결제 방법
52 $enc_info = isset($_POST["enc_info"]) ? gp_check_array_sanitize($_POST["enc_info"]) : ''; // 암호화 정보
53 $enc_data = isset($_POST[ "enc_data"]) ? gp_check_array_sanitize($_POST["enc_data"]) : ''; // 암호화 데이터 54 $rcvr_name = isset($_POST[ "rcvr_name"]) ? gp_check_array_sanitize($_POST["rcvr_name"]) : ''; // 수취인 이름
Threat level 2

Callstack:

@INLINE::/gnupay-kcp/kcp/m_order_approval_form.php /gnupay-kcp/kcp/m_order_approval_form.php:354 (show/hide source)
334      /* KCP는 과세상품과 비과세상품을 동시에 판매하는 업체들의 결제관리에 대한 편의성을 제공해드리고자,
335         복합과세 전용 사이트코드를 지원해 드리며 총 금액에 대해 복합과세 처리가 가능하도록 제공하고 있습니다
336  
337         복합과세 전용 사이트 코드로 계약하신 가맹점에만 해당이 됩니다
338  
339         상품별이 아니라 금액으로 구분하여 요청하셔야 합니다
340  
341         총결제 금액은 과세금액 + 부과세 + 비과세금액의 합과 같아야 합니다.
342         (good_mny = comm_tax_mny + comm_vat_mny + comm_free_mny) */
343  ?>
344  <input type="hidden" name="tax_flag"          value="TG03">     <!-- 변경불가    -->
345  <input type="hidden" name="comm_tax_mny"	  value="<?php echo $comm_tax_mny; ?>">         <!-- 과세금액    -->
346  <input type="hidden" name="comm_vat_mny"      value="<?php echo $comm_vat_mny; ?>">         <!-- 부가세	    -->
347  <input type="hidden" name="comm_free_mny"     value="<?php echo $comm_free_mny; ?>">        <!-- 비과세 금액 -->
348  <?php
349  }
350  ?>
351  
352  <input type="hidden" name="res_cd"         value="<?php echo $res_cd; ?>">      <!-- 결과 코드          -->
353  <input type="hidden" name="tran_cd"        value="<?php echo $tran_cd; ?>">     <!-- 트랜잭션 코드      -->
354 <input type="hidden" name="enc_info" value="<?php echo $enc_info; ?>"> <!-- 암호화 정보 -->
355 <input type="hidden" name="enc_data" value="<?php echo $enc_data; ?>"> <!-- 암호화 데이터 --> 356 </form>