본문 바로가기
728x90

SQLInjection2

[PYTHON] Raw SQL 사용 시 SQL Injection 3가지 완벽 해결 방법 및 ORM과의 차이 현대의 웹 애플리케이션 개발에서 Django ORM이나 SQLAlchemy와 같은 객체 관계 매핑(ORM) 도구는 생산성을 비약적으로 향상시켜 주는 필수적인 존재입니다. ORM은 기본적으로 SQL Injection(SQL 인젝션) 공격에 대한 강력한 방어 기제를 내장하고 있어, 대다수의 일상적인 데이터베이스 작업은 보안 걱정 없이 수행할 수 있습니다. 하지만 실제 대규모 서비스나 레거시 시스템을 다루다 보면, 통계 쿼리나 복잡한 JOIN, 윈도우 함수 등을 ORM으로 표현하기엔 성능이 터무니없이 낮거나 구현 자체가 불가능한 상황에 직면하게 됩니다. 이때 우리는 최적의 성능을 위해 Raw SQL(직접 작성한 SQL)이라는 강력하지만 위험한 칼을 뽑아 들게 됩니다. 오늘 이 글에서는 파이썬 백엔드 엔지니어의.. 2026. 3. 20.
[PYTHON] 웹 애플리케이션 보안을 위한 2가지 핵심 취약점 방어 방법과 Pickle 역직렬화 차이 해결 소프트웨어 개발에서 기능 구현만큼 중요한 것이 바로 보안(Security)입니다. 특히 파이썬(Python)은 그 편리함 이면에 강력한 기능을 오용했을 때 발생하는 치명적인 보안 허점이 존재합니다. 그중에서도 가장 대표적인 것이 Pickle 역직렬화(Insecure Deserialization)를 통한 원격 코드 실행(RCE)과 SQL Injection을 통한 데이터 유출입니다. 본 가이드에서는 이 두 가지 핵심 취약점을 전문적인 시각에서 분석하고, 실무에서 즉시 적용 가능한 방어 전략을 제시합니다.1. Pickle 역직렬화: 편리함 속에 숨겨진 RCE 위협파이썬의 pickle 모듈은 객체를 바이트 스트림으로 변환하거나 그 반대로 복원하는 매우 강력한 도구입니다. 하지만 신뢰할 수 없는 사용자가 제공한 .. 2026. 2. 22.
728x90