MyBatis 활용 시 주의사항 및 최적화 전략

데이터베이스와 애플리케이션 간의 상호작용을 위해 MyBatis와 같은 ORM(Object-Relational Mapping) 프레임워크를 사용하는 것은 일반적인 개발 패턴입니다. 하지만 편리함 뒤에는 몇 가지 함정과 최적화 기회가 존재합니다. 이 글에서는 MyBatis를 효과적으로 사용하기 위한 중요한 고려사항들을 다룹니다. 1. 파라미터 처리: #{} vs ${} MyBatis에서 SQL 쿼리에 파라미 ...

7월 9일 20:07에 게시됨

SQL 삽입 공격 (SQL Injection) 완벽 가이드

1. SQL 삽입 공격이란? SQL 삽입(SQL Injection)은 웹 애플리케이션 등에서 사용자 입력값을 데이터베이스 SQL 쿼리에 직접 연결할 때 발생하는 보안 취약점을 이용한 공격 기법입니다. 공격자는 조작된 입력값을 통해 악의적인 SQL 코드를 삽입하여 데이터베이스 쿼리의 구조를 변경합니다. 이를 통해 인증 우회, 민감 정보 탈취, 데이터 변조 등 다양한 비인가 작업을 ...

7월 3일 19:47에 게시됨

Apache·MySQL·PHP 연동 및 웹 취약점 실습

1. Apache 웹 서버 환경 구성 웹 애플리케이션 실습을 위해 먼저 Apache 서비스를 준비합니다. Kali Linux에는 Apache가 기본 설치되어 있으므로, 80번 포트 사용 여부를 확인합니다. ss -tlnp | awk '$4 ~ /:80$/' 80번 포트를 점유 중인 프로세스가 있다면 종료 후 Apache를 기동합니다. sudo systemctl start apache2 sudo systemctl is-active apache2 2. HTML 폼과 ...

5월 28일 06:49에 게시됨

SQL 인젝션 취약점 분석 및 공격 기법

1. 공격 원리 사용자 입력 데이터에 대한 적절한 검증이나 필터링이 이루어지지 않을 경우, 공격자는 백엔드에서 실행되는 SQL 쿼리 구조를 악용할 수 있다. 이를 통해 조작된 SQL 문을 삽입함으로써 데이터베이스의 정보를 탈취하거나, 데이터를 변조·삭제하는 등의 비정상적인 동작을 유도할 수 있다. 성공적인 SQL 인젝션은 민감한 정보 유출, 계정 탈취, 시스템 장악 ...

5월 25일 21:54에 게시됨

xss.haozi.me 연습 환경에서의 XSS 공격 실습 및 방어 설정

xss.haozi.me 연습 환경에서의 XSS 공격 실습 다음은 xss.haozi.me 연습 환경에서 XSS 공격을 실습하며 얻은 경험과 각 단계별 서버 코드, 공격 페이로드, 그리고 분석 내용입니다. 1단계 서버 코드: // server code function render (input) { return '<div>' + input + '</div>' } 설명: 기본적인 HTML 태그 내에 입력값이 그대로 삽입되는 ...

5월 20일 23:09에 게시됨