SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
[SQLI] SQL Injection ( + Mybatis )
SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
2023.07.29