Spring Framework 핵심 개념 정리
Spring Framework의 기본 구조
Spring은 단순한 프레임워크가 아니라, 다양한 기능을 제공하는 컨테이너 기반의 개발 플랫폼이다. 이는 의존성 주입(DI), AOP, 트랜잭션 관리 등 핵심 기능을 통합적으로 제공한다.
1. Spring 컨테이너 구성
Spring 컨테이너는 애플리케이션의 핵심 객체를 관리하는 역할을 수행하며, 일반적으로 하나의 인스턴스만 생성하여 사용한다. 리 ...
8월 2일 15:39에 게시됨
JDK와 CGLIB를 활용한 동적 프록시 기반 AOP 핵심 기능 구현
동적 프록시와 AOP의 기반 기술AOP(Aspect Oriented Programming)를 구현하기 위해서는 핵심 기술인 동적 프록시(Dynamic Proxy)에 대한 이해가 필수적입니다. 동적 프록시는 런타임 시점에 타겟 객체를 감싸는 프록시 객체를 생성하여, 기존 코드의 수정 없이 메서드 호출을 가로채고 추가적인 로직을 적용할 수 있게 해줍니다. 이를 통해 로깅, 트랜잭션, 보안 등 횡단 ...
7월 31일 08:49에 게시됨
리플렉션을 활용한 클래스 메타데이터 조작
클래스 구조 정보 획득
리플렉션 API를 사용하면 런타임에 클래스의 구조적 정보를 얻을 수 있습니다. 다음 코드는 주요 메타데이터 조회 방법을 보여줍니다:
public class ReflectionInspector {
public static void main(String[] args) throws Exception {
Class<?> targetClass = Class.forName("com.example.model.Student");
// 클래스 ...
7월 7일 02:45에 게시됨
Java 원본 체인을 통한 역직렬화 악용 기법
자바 시리얼라이제이션 취약점에서 외부 라이브러리 없이도 악성 코드를 실행할 수 있는 원본 체인을 활용하는 방법에 대해 살펴봅니다. 이 기법은 특정 버전의 JDK 7u21에서만 작동하며, 내장 클래스만을 사용하여 명령어 실행을 유도합니다.
역직렬화 공격의 핵심 목적은 원하는 동작을 수행하는 것입니다. 일반적으로는 명령어 실행이 목적이지만, 파일 읽기, ...
5월 23일 10:57에 게시됨