작성
·
235
·
수정됨
답변 1
0
안녕하세요.
Prepared Statement는 SQL 인젝션의 대응방법입니다. 이 방법은 아직 우회 기법은 없습니다.(물론 취약하게 코딩할 경우 제외) 만약 이 방법이 우회가 된다면 전 세계적으로 큰 이슈가 되겠죠.ㅎ
말씀하신대로, 해당 웹 서비스에서 모든 입력 값에 대해 Prepared Statement 처리를 하면 안전합니다.
그러나 Prepared Statement가 적용될 수 없는 경우도 있습니다.(이부분은 강의에서 설명을 드렸습니다.)
모든 웹 서비스의 모든 입력 값에서 Prepared Statement로 처리가 되면 모든 웹 서비스는 SQL 인젝션에 안전하기 때문에 SQL 인젝션이란 기술은 의미가 없게 됩니다.
그러나 그렇게 될 수는 없습니다. SQL 인젝션은 웹 서비스의 범주에서만 가능한 공격이 아니며 데이터베이스와 연동 되어 있는 모든 어플리케이션에서도 가능합니다. 또한 웹 서비스를 개발하는 개발자들이 경우에 따라선 Prepared Statement를 사용하지 않는 경우들도 있습니다.