SQL injection 을 이용한 SQL 기반 검색엔진의 웹 서버 취약점 분석 및 보완하기
SQL injection 은 SQL 테이블에 악성 공격자가 SQL 쿼리문을 보내어 SQL 데이터 데이스의 내용을 탈취하는 공격 기법이다. 주로 SQL injection을 막는 코드가 없을 때 가능한 공격 기법이다.
OWASP TOP 10 (출처: https://portswigger.net/daily-swig/hive-mind-owasp-2017-top-10-released)
이 공격법은 OWASP(웹 취약점, 보안 취약점, 악성 스크립트를 연구하는 보안 프로젝트)에 TOP 10 에 들어갈 정도로 손 꼽히는 공격법이다.
SQL injection의 공격 목적은 다음과 같다.
인증우회
대부분 아이디/패스워드 페이지에 행해지는 공격기법이며, 참거짓 논리 연산자를 이용해 많이 공격한다.
DB데이터 조작 및 유출
타켓에 데이터를 삭제 또는 추출해 내는 공격이다.
시스탬 명령어 실행
원격으로 SQL 명령어에 시스탬 명령어를 섞어 보내는 공격이다. (다만, 일부 데이터베이스에만 해당된다. / 예시) MSSQL)
이 공격은 SQL injection이 가능한 웹서버라면 해당 웹서버의 데이터베이스 삭제는 물론이고, 해당 관리자의 계정을 탈취하는 등 여러 피해를 초래해 혼란을 야기한다.
데이터 베이스의 특징 중 하나인 '실시간 접근성'이다. 이러한 특징으로 인해 언제든지 SQL injection을 할 수 있으며, 위 공격이 실행되어 데이터베이스의 데이터가 날아갈 경우, 복구하기가 매우 힘들고, 까다롭다.
이러한 요점들로 인해 SQL injection 보고서를 작성하는 목적이며, 중요할 따름이다.