SonarQube Stored XSS 빠르게 잡기 — DB 출력 3가지 패턴

SonarQube Stored XSS — S5131 룰이 DB 출력 단에서 잡힌 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시에서 발견된 패턴 시도 1. 입력 시 sanitize — 실패 시도 2. JSTL c:out 적용 — 부분 통과 … 더 읽기

SonarQube Open Redirect 막는 법 — sendRedirect 3가지 패턴

SonarQube Open Redirect — S5146 룰 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시에서 발견된 패턴 시도 1. javascript: 차단 — 실패 시도 2. host 검증 — 부분 통과 시도 3. … 더 읽기

SonarQube CSRF 룰 통과 — Spring Security 4단계 적용

SonarQube CSRF — S4502 Security Hotspot 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시에서 발견된 패턴 시도 1. csrf().disable() 그대로 두고 다른 곳 수정 — 실패 시도 2. API 엔드포인트만 disable … 더 읽기

SonarQube XSS 룰 S5131 해결 — 레거시 JSP에서 시도한 3가지 방법

SonarQube XSS — IDE 정적 분석 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시 JSP/Servlet 패턴 시도 1. script 태그 블랙리스트 시도 2. HTML escape 자체 구현 시도 3. JSTL c:out … 더 읽기