목록mybatis Data Map (1)
삶 가운데 남긴 기록 AACII.TISTORY.COM
JAVA 보안 SQL Injection: mybatis Data Map
SQL Injection: mybatis Data Map 정의 외부 입력 값이 SQL 의 인자값으로만 사용되지 않고 문자열로 연결되는 값으로 사용되면 SQL문에 Injection 되어 의도하지 않은 동작을 할 수 있게 됩니다. 방어 방법 외부 입력 값에 대해 안전하지 않은 문자열을 제거하도록 합니다. mybatis Data Map 에 문자열 삽입 인자($...$)를 사용하지 말고 ## 형태를 사용합니다. 안전하지 않은 예 DELETE STUDENTS WHERE NUM = #num# AND name = '$name$' $name$ 으로 전달되는 값에 ' OR 'x' = 'x' 를 외부 입력으로 전달되면 where조건이 항상 실행하게 할 수 있습니다. 안전한 코드의 예 DELETE STUDENTS WHERE..
DEV&OPS/Java
2022. 8. 17. 14:56