홈 › 실무 확장 › 20 / 22

웹 보안 체크리스트

XSS·CSRF·SQL 인젝션·경로 탐색·업로드·IDOR·보안 헤더·의존성 취약점
섹션 7진행 0 / 22

웹 보안 체크리스트 — Spring Boot·MyBatis·Vue 사내 시스템 실무 점검

사내 업무 시스템에서 실제로 자주 뚫리는 13가지 지점을 항목별로 "무엇이 뚫리나 / 어떻게 막나 / Spring·MyBatis 에서는" 세 줄로 정리하고, JDK 만으로 방어 로직을 직접 구현해 봅니다.

1. 왜 배우는가

사내 업무 시스템은 외부 공격보다 내부 사용자의 실수나 권한 설계 누락으로 더 자주 뚫립니다. 다른 부서 직원이 URL 의 id 값만 바꿔서 남의 문서를 보거나, 첨부파일 다운로드에 ../ 를 넣어 서버 설정 파일을 읽어가는 사고가 실제로 발생합니다. 이런 사고는 대부분 코드 몇 줄로 막을 수 있는데, 담당자가 항목 자체를 몰라서 놓치는 경우가 많습니다.

이 레슨은 OWASP 상위 취약점 중 사내 시스템에서 실제로 자주 보는 13가지를 골라 체크리스트로 정리합니다. 각 항목은 공격 원리, 방어 코드, Spring Boot·MyBatis·Vue 스택에서의 적용 지점을 한 줄씩 붙여 바로 실무에 옮길 수 있게 했습니다. 인증·인가의 기본기(로그인 세션, JWT, OTP)는 이 사이트의 인증 묶음 01~03 을 참조하고, 여기서는 그 위에서 자주 놓치는 지점만 다룹니다.

코드는 java-src/extension/20_web_security 에 있고 Main·Guard 두 파일로 구성됩니다. com.sun.net.httpserver.HttpServer 로 취약한 지점을 재현하는 서버를 띄우고, java.net.http.HttpClient 로 공격 시나리오를 직접 호출해 방어가 동작하는지 확인합니다.