계약직/상주
찜하기
모바일 상품권 판매 사이트 보안 강화·개편 (기존 소스 활용 또는 신규 구축) 전문가
근무 지역경기도 화성시
예상 기간60일
마감 기한2026-09-28(D-15)
한눈에 보는 프로젝트 핵심 요약
- 원천 플랫폼
- 위시켓
- 예상 대금
- 월 500만원
- 근무 방식
- 정보 없음
- 공고 등록일
- 2026-09-14
프로젝트 상세 본문
[프로젝트 개요]
- 현재 운영 중인 모바일 상품권 판매 사이트를 보안 중심으로 다시 만듭니다. 기존 소스를 활용해 보완하는 방식과 새로 구축하는 방식을 모두 열어 두고 있으며, 어느 쪽이 나은지 파트너 의견을 듣고 정하려 합니다.
- 기존 사이트는 사용자 화면이 Java, 관리자가 PHP로 되어 있습니다. PHP는 과거 SQL 인젝션 피해를 겪은 환경이라 지양합니다.
- 보안 강화와 함께 메인 레이아웃 디자인 수정, SEO 최적화, 결제 수단 연동 정비를 진행합니다.
- 취급 상품은 5종 내외입니다. 상품 수가 많은 대형 쇼핑몰이 아니라, 기능 구성이 단순한 대신 결제와 상품권 번호 보호가 핵심인 서비스입니다.
[클라이언트 소개]
- 모바일 상품권을 판매하는 사이트를 운영하고 있습니다. 이번 프로젝트는 그중 한 사이트를 대상으로 합니다.
- 프로젝트 의사결정 구조: 대표가 업체 선정, 계약, 대금 지급까지 직접 결정합니다. 별도 결재 절차가 없습니다.
- 개발 지식: 사내에 개발 인력이 없습니다. 기술 스택 세부 판단은 파트너 제안에 따르되, 보안 사고를 겪으며 확인한 취약점과 조치 방향은 구체적으로 논의할 수 있습니다.
[왜 이 프로젝트를 하는가]
- 지금 상황: 최근 관리자 화면을 통한 웹쉘 공격으로 PHP 파일이 업로드되어 침해 사고가 발생했습니다. 팝업 등록에 사용한 공개 웹 에디터의 취약점이 경로였습니다. 그 이전에는 SQL 인젝션 피해도 있었습니다. 기존 소스에 남아 있을 수 있는 흔적까지 확신하기 어려운 상태입니다.
- 끝나면 이렇게 되기를 바랍니다: 외부 침입 경로가 차단되고, 침입이 발생하더라도 상품권 번호가 노출되지 않는 구조가 되는 것이 목표입니다. 서버에는 별도로 웹 방화벽과 웹쉘 탐지를 적용할 예정이며, 애플리케이션 자체도 그 전제로 설계되기를 바랍니다.
- 다만 이런 점이 우려됩니다: 같은 사고가 다시 일어나는 것이 가장 우려되는 부분입니다. 이전 개발자도 해당 에디터가 취약하다는 것을 알면서 사용했고, 그 결과 실제 피해가 발생했습니다. 그래서 이번에는 공격자 관점에서 취약점을 찾아 막을 수 있는 파트너를 찾고 있습니다.
[필수 과업 범위와 결과물]
1. 수행 범위
- 기존 소스 진단: 기존 소스에 남아 있을 수 있는 침해 흔적과 취약점 점검
- SW 개발: 사용자 화면과 관리자 화면 개발. 기존 소스를 보완할지 새로 구축할지는 협의로 정합니다.
- UI·UX 디자인: 메인 레이아웃과 로그인 등 주요 화면 개선. 별도 디자이너 없이 개발자가 정리하는 수준도 검토 가능합니다.
- 인프라·서버 구성: 쇼핑몰 도메인과 관리자 도메인의 서버 분리 운영, SSL 자동 갱신 설정
- 소스코드와 서버 계정은 발주자 소유입니다.
2. 필수 과업
2-1. 결제 수단 연동
- 계좌결제, 카드결제, 휴대폰결제, 토스 간편계좌 API 연동
- 상품 등록 시 결제 수단별 금액 설정, 판매 노출 여부, 결제 수단 사용 여부를 관리자에서 설정
- 계좌결제: 관리자 승인 후 구매 가능한 상품과 가입 즉시 구매 가능한 상품을 구분하고, 알림톡을 발송합니다.
- 카드결제·휴대폰결제·토스 간편계좌: 가입 즉시 구매는 가능하되, 최초 1회 관리자 유선 승인을 거쳐야 상품권 번호를 확인할 수 있습니다. 주문내역 화면에 노출됩니다.
- 카드결제·휴대폰결제는 상품 금액 합계 한도를 100만원까지 설정합니다. 계좌결제는 한도가 없습니다.
- 휴대폰결제는 통신사 수수료를 관리자에서 추가 설정할 수 있어야 합니다.
- 계좌이체 입금 시 앱으로 오는 알림을 인식해 입금을 확인하는 기능
2-2. 회원 등급 (4단계)
- 비승인회원: 계좌결제 일부 상품과 카드·휴대폰결제로 구매 가능
- 카드승인회원: 카드·휴대폰결제 구매와 상품권 번호 확인 가능, 계좌결제 구매 불가
- 승인회원: 모든 상품 구매와 상품권 번호 확인 가능
- 비즈회원: 비즈회원 전용 상품 구매와 상품권 번호 확인 가능
2-3. 상품권 재고 관리
- 상품권 발행 API 연동이 아니라, 재고를 등록해 두고 소진되는 방식입니다. 재고 소진 시 품절 표시 후 구매가 차단됩니다.
- 관리자가 상품권 재고를 추가할 때 암호화해 저장합니다.
- 추후 API 연동으로 발권하는 방식으로 바뀔 수 있는 구조를 고려해 주세요.
2-4. 보안 요건
- 쇼핑몰 도메인과 관리자 도메인을 서버 단위로 분리해 운영합니다.
- 관리자 접속 시 OTP 또는 알림톡 인증을 적용합니다.
- SQL 인젝션과 웹쉘 공격이 성공하더라도 상품권 번호는 확인할 수 없도록 처리합니다.
- 카드·휴대폰 결제 시 금액을 조작해 결제할 수 없도록 처리합니다.
- 아이디는 전화번호를 사용합니다. 아이디 찾기를 누르면 전화번호를 입력하라는 안내 팝업을 띄웁니다.
- 비밀번호는 특수문자 포함 8자리 이상으로 하고, 비밀번호 찾기는 알림톡으로 전송합니다.
- SSL 자동 갱신을 적용합니다.
- 개인정보 보호법에 따른 개인정보 관리가 되어야 합니다.
2-5. SEO
- 메인과 상품별 SEO 최적화 설정. 현재는 아무 설정이 되어 있지 않습니다.
3. 결과물
- 전체 소스코드 (발주자 소유)
- DB 스키마
- 서버·도메인 계정과 권한 인계
- 보안 점검 결과와 조치 내역
- 배포·운영 매뉴얼
[아직 정하지 않은 범위]
- 아래는 저희가 확정하지 못한 항목입니다. 어느 쪽을 권하시는지와 그 이유를 의견과 함께 적어 주세요.
1. 기존 소스 활용 / 신규 구축 — 기존 소스는 FTP로 접근할 수 있고 활용 가능한 상태이나, 침해 사고 이후 파일이 남아 있을 가능성을 배제하기 어렵습니다. 파트너가 보유한 기존 솔루션을 기반으로 일부를 옮겨 쓰는 방식도 가능합니다.
2. 기술 스택 — PHP는 지양합니다. 그 외 어떤 스택이 적합한지 제안해 주세요.
3. 디자인 범위 — 현재 디자인이 오래되어 개선이 필요하나, 별도 디자이너 투입 없이 개발자가 정리하는 수준으로 충분할지 판단이 서지 않습니다. 운영 중인 사이트를 미팅에서 보여드리고 함께 정하려 합니다.
4. 상품권 발행 API 연동 — 이번에는 재고 방식으로 하되, 추후 API 발권으로 전환할 가능성이 있습니다. 이번 범위에는 넣지 않습니다.
[클라이언트 준비 사항]
- 준비된 것: 운영 중인 사이트와 기존 소스(FTP 접근), 기능 명세 역할을 하는 현재 사이트, 관리자 화면
- 이 프로젝트 담당: 대표 1명이 요구사항 확정과 검수를 맡습니다.
[오픈 시점과 예산]
- 개발 기간: 약 1~2개월
- 예산: 1,000만원 (부가세 별도)
[제안 포함 필수 사항]
- 지원 내용은 아래 기준으로 검토합니다.
1. 공격자 관점에서 취약점을 점검하고 막아 본 경험을 제안에 포함해 주세요. 웹쉘 업로드, SQL 인젝션, 결제 금액 조작 등 실제로 대응해 본 사례가 있으면 함께 적어 주세요. 보안이 이 프로젝트의 첫 번째 기준이며, 이전 사고로 실질적인 피해가 발생했기 때문에 이 부분을 가장 중요하게 보고 있습니다.
2. 위 '아직 정하지 않은 범위' 각 항목, 특히 기존 소스 활용과 신규 구축 중 어느 쪽을 권하시는지와 그 이유, 그리고 그에 따른 비용 차이를 제안에 포함해 주세요. 공고만으로 판단이 어려워 확인이 필요한 부분도 함께 적어 주세요.
3. 제안하시는 기술 스택과 그 선택 이유, 결제 수단 4종 연동 경험을 제안에 포함해 주세요. 저희 쪽에 개발 인력이 없으므로 비개발자가 이해할 수 있는 수준으로 적어 주시면 도움이 됩니다.
4. 파트너님께서 판단하시기에 어떤 부분이 완료되어야 이 프로젝트가 성공적으로 마무리되었다고 보시는지, 그리고 무상 하자보수 기간과 이후 유지보수 범위·월 비용을 제안에 포함해 주세요.