기술면접 준비해 보자
나쁜 공격 SQL인잭션은 무엇이고 어떻게 방어해야 하지?
NEWDODORIPYO
2022. 7. 14. 20:30
SQL인잭션에 대해서 설명해 보시오
SQL 인재션 공격이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위를 말한다
그럼 어떻게 막아야 하는데?
- 에러 페이지를 만든다 악의 적인 사용자가 일부로 잘못된 sql문이 실행되게 한다음 오류 내용을 보고 DB구조를 파악할 수도 있기때문에 따로 페이지를 만들어주는게 안전하다
- PreparedStatement 를 사용한다 현 프로젝트에서는 MyBatis 를 사용하고있다
- MyBatis 에서 #{ } 를 사용하면 PreparedStatement 를 생성하여 파라미터를 바인딩한다