kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Cyber Security

SQL Injection 실습 ( Mysql ) - 진행중

까마기 2015. 7. 25. 23:28
728x90
반응형

1. SQL Incection 실습


- table 생성 하기



- userid, userpw 테이블에 값 넣기




- 정상적인 Query 문 조회



- 비정상적인 Query 문 조회



Webhacking의 궁극적인 목표는 공격자가 원하는 DB를 보는 것에 있다. Wapple 웹 방화벽 장비나 IPS 장비의 탐지 로그만 보아도 고객사 및 수많은 웹 서비스를 하는 사이트가 SQL Injcetion 공격에 노출 되어 있고, 공격자들이 그만큼 공격 시도가 실시간으로 이루어 진다는 것이다.

 보안성 강화 차원에서 L7 계층 까지 패턴화 시켜 공격을 막는 솔루션인 웹 방화벽은 한계가 있다. 기본적으로 탐지/차단을 위해서 SQL Injection 공격의 패턴을 시그니처 기반으로 등록하여 해당 패턴이 매치되면 Packet을 Drop 하는 형식이다.

 하지만 SQL Injection 공격의 다양한 공격의 패턴들을 모두 등록하고 미리 예측하여 등록하기란 사실상 불가능에 가깝다. 탐지 패턴을 서비스 가용성에 문제가 생기지 않게 정교하게 만들어야 하기 때문이다. 

 

 SQL Injection은 사용자로부터 입력 받은 데이터를 이용하여 동적으로 Query 문을 완성 할 수 있는 페이지에서 적절한 검증 없이 DB Query문의 일부로 포함되는 경우 발생하며 DBMS 가 의도되지 않은 결과를 반환하며 입력 값에 대해 그 적절성을 검사 하지 않았기 때문에 발생한다.

 SQL Injecion은 입력 값 검증 부재의 일종이다. 

=> 웹 페이지를 통해 입력된 Parameter의 값을 이용하여 Query 를 재구성하는 방법이라고 할 수 있다.

반응형