Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
가상 쇼핑몰 사이트 모의해킹 본문
본 게시물은 가상 쇼핑몰 사이트에서 진행한 모의해킹을 복기 차원에서 간단하게 정리한 내용으로, 저작권 등의 문제로 실제 진행한 구체적인 모의해킹 내용은 올리기가 어려움, 필자의 복습 차원에서 올린 게시물로서 참고만 해주시길 ...
1. 권한 검증 취약점 (공지사항 게시판 조작)
1.1 페이지 구조 분석
- 쇼핑몰 내 게시판은 크게 공지사항 / QnA)로 구성되어 있음
- 공지사항
- 회원가입 및 로그인 후에도 게시글 작성 기능이 존재하지 않음
- 일반 사용자 권한으로 업로드할 수 없는 공지사항 탭에서 권한 없는 자가 게시물을 작성/삭제해보는 것을 목표로 모의해킹진행
- QnA
- 회원가입만 진행하면 로그인 후 게시글 작성 및 삭제 가능
1.2 취약점 탐색 과정
- BurpSuite를 활용하여, 일반 사용자의 권한에서 게시물 작성/삭제가 가능한 QnA 게시판 분석 결과 다음과 같은 사실을 발견함
- QnA 게시글 작성 경로: /qna/write
- QnA 게시글 삭제 경로: /qna/delete
- 즉, 기능은 클라이언트에서 숨겨져 있을 뿐 서버에는 존재
1.3 취약점 악용 방법
- 공지사항 URL
- /hacking/notice
- 여기에 QnA에서 사용한 경로를 결합
- /hacking/notice/write → 공지사항 작성
- /hacking/notice/delete → 공지사항 삭제
1.4 결과
- 권한이 없는 사용자도 1.3과 같이 URL을 조작하면 공지사항 작성 및 삭제 가능
1.5 핵심 원인
- 서버에서 권한 검증 미흡
- 클라이언트 UI에만 의존한 접근 제어
2. 결제 금액 조작 취약점
2.1 목표
- 일반 쇼핑몰에서 1,000,000원짜리 상품을 100원으로 구매하도록 조작하는 모의해킹 진행
2.2 취약점 탐색 과정
- 우선 BurpSuite로 정상적인 결제 요청 패킷 확인
- 정상적으로 결제를 요청할 경우 다음과 같은 주요 파라미터가 존재
point (존재하는 포인트)
usepoint (사용하고자 하는 포인트)
shipmentfee (배송비)
total (총 결제 금액)
2.3 조작 시도
- 총 결제 금액을 의미하는 total 파라미터 직접 수정 시 서버 검증으로 조작이 막혀있음
- 대신 포인트 금액을 조절하여 사용자의 돈이 아닌 포인트로만 결제를 진행하도록 조작
- 즉, point, usepoint 값을 조작 (point: 999,900, userpoin: 999,900)
2.4 취약점 악용 결과
- 보유하고 있는 포인트 금액을 크게 설정하고, 실제 사용 포인트 금액 역시 동일하게 변경하여 실제 결제 금액을 100원으로 변경
- 정상적으로 결제 완료됨
2.5 핵심 원인
- 서버가 total 파라미터는 검증하지만 point, usepoint는 신뢰함
2.6 보안 관점 주요 사항
- 중요한 금액 관련 데이터는 반드시 서버에서 재계산해야 함
- 클라이언트 입력값 신뢰 금지
3. 개인정보 노출 취약점 (정규표현식 활용)
3.1 시스템 구조
- 고객센터 내 3개의 게시판 존재
- 표면적으로 개인정보를 직접 조회하는 기능 없음
- 주민등록번호가 노출된 게시판 찾는 것을 목표로 모의해킹 진행
3.2 취약점 탐색 방법

- BurpSuite의 HTTP History 기능 활용
- BurpSuite에는 History 탭에 필터 기능이 존재하는데, 이때 주민등록번호 형태의 문자열을 탐지할 수 있는 정규표현식을 제작하여 필터로 활용하면 해당하는 패킷만 잡히게 됨
- 주민등록번호는 '숫자 여섯개-숫자 일곱개'로 구성되어 있기 때문에 정규표현식으로 숫자를 의미하는 \d와 {}에 숫자를 넣으면 반복한다는 의미를 가지는 '{}'를 결합하여 정규 표현식을 제작할 수 있음
- 최종 정규표현식: \d{6}-\d{7}
3.3 취약점 발견
- 상기 정규표현식을 활용하면, HTTP 응답 데이터 내부에서 주민등록번호 형태의 데이터를 확인할 수 있음
- 예시:
- 500810-1111111
3.4 결과
- 사용자 인터페이스에서는 보이지 않지만 네트워크 트래픽에서는 개인정보 노출 위험 존재
- 사용자가 게시물을 등록할 때 주민등록번호와 같은 개인정보가 혼용되지 않도록 필터링을 제작하는 등의 보호조치 마련 필요
'보안 & IT 지식 🌺' 카테고리의 다른 글
| SSRF 취약점 (Server-Side Request Forgery) (0) | 2026.04.23 |
|---|---|
| CSRF, 불충분한 세션 관리 취약점 (0) | 2026.04.22 |
| XSS(DOM XSS, Reflected XSS, Stored XSS) (0) | 2026.04.20 |
| SQL Injection (Union, Error-Based, Blind SQL Injection) (0) | 2026.04.20 |
| 개인정보 영향평가 수행안내서 part3(개인정보 영향평가 항목) 대상기관 개인정보 보호 관리체계 항목 (2) | 2026.04.16 |
