안녕하세요. SQL Injection에 대해서 공부해본 내용을 공유하고자 합니다. 대부분 웹 해킹에 대해서는 보안의 중요성이나 방지방법만 파악하고 여러가지 유형에 대해서는 간과한 것 같아서 그 부분도 함께 스터디를 해봤습니다. 깊진 않지만 어디가서 말 못할 정도의 내용은 아닐 수 있도록 정리해보겠습니다. SQL 인젝션이란??SQL 인젝션은 백엔드 데이터베이스 단에 저장된 중요한 정보들에 접근하기위해 SQL 쿼리문을 조작하는 공격중 하나이다. 이 중요한 정보들에는 회사의 민감한 정보, 개인 고객 정보 등이 있을 수 있다. 이 공격의 영향으로 회사에는 막대한 피해를 입을수 있습니다. SQL 인젝션 공격에 성공한다면 접근할 수 없는 고객 목록을 확인하거나 데이터베이스 스키마를 삭제하거나 내용을 수정하거나 웹에..
안녕하세요. 오늘 공유할 내용은 Spring mybatis에서 사용하는 #{} 문법과 ${} 문법의 차이와 ${}문법을 사용했을때 발생할 수 있는 SQL Injection이라는 해킹 방법에 대하여 내용을 공유하고자 합니다. 먼저 Spring이란 웹개발을 할때 기업에서 주로 사용하는 프레임워크로 전자정부 프레임워크로 지정되어 사용되는 우리나라에서 개발하는 사람들은 대부분 거쳤을 만큼 대중적인 프레임워크입니다. 그중에서 JDBC를 사용하여 DB와 연동하는 것으로 MyBatis라는 라이브러리를 사용하게 됩니다. 그중에서 VO나 DTO를 매개변수로 하여금 데이터의 이동을 하게하는데요. 그 기능으로 $와 #문법이 있습니다. 즉, VO에 name이라는 변수가 있고 getter가 getName()이라는 메소드로 되어..