java 2

[Spring] 파일 다운로드 기능에서 디렉토리 트래버설(Directory Traversal) 취약점 막기

최근 파일 다운로드 기능을 점검하다가 의도치 않게 이런 요청이 통과되는 걸 발견했습니다.http://localhost:8089/common/downloadFile.do?fileName=../Users/Sangs/Pictures/Thumnail/20.png이 요청이 그대로 처리되면서, 지정된 폴더(C:\excel) 밖의 파일까지 다운로드가 가능해졌습니다.이건 전형적인 디렉토리 트래버설 취약점입니다.🕵️‍♂️ 취약한 기존 코드@RequestMapping(value = "/common/downloadFile.do", method = RequestMethod.GET)public void downloadFile(HttpServletRequest request, HttpServletResponse response..

SPRING&BOOT 2025.08.21

DB 프로시저와 배치의 차이 (쉽게 이해하기)

1. 프로시저란?프로시저(Stored Procedure) 는 데이터베이스(DB) 안에 저장된 SQL 함수입니다.자주 쓰는 SQL을 함수처럼 만들어두고, 필요할 때 호출해서 사용합니다.👉 비유:자바스크립트에서 search()라는 함수를 만들어두고 필요할 때마다 search() 호출매번 긴 코드를 안 쓰고, 이름만 부르면 실행예시 (MySQL 기준)-- 1) 프로시저 정의: 사용자 이름으로 검색CREATE PROCEDURE searchUser(IN p_name VARCHAR(50))BEGIN SELECT * FROM users WHERE name = p_name;END;-- 2) 실행CALL searchUser('홍길동');📌 장점DB 안에서 실행되니까 빠름 (네트워크 왕복 없음)SQL을 재사용 가능?..

ETC 2025.08.20