Self-Improvement

SQL Injection 본문

Web

SQL Injection

JoGeun 2018. 10. 20. 14:28

*sql injection
웹 애플리케이션 환경에서 DB에 질의하는 과정에서 일반적인 값 외에 악의적인 구문을 삽입하여 DB에 접근하는 공격기법이며 대표적으로 이 기법을 통해 인증우회, DB내용검색이 있습니다.
입력된 값에 대한 필터링, 이스케이핑 하지 못했을 경우에 발생한

*SQL Injection 종류
1.Union SQL Injection (주로 정보수집용)
공격자는 UNION을 악용하여 원래의 요청에 추가 쿼리를 삽입하여 정보를 얻어내는 방식

2.Blind SQL Injection (중요)
SQL Injection 공격에서 에러가 발생되지 않는 사이트에서는 참 혹은 거짓 쿼리를 통해 판단하여 공격하는 기법이다. ( 에러가 웹방화벽에 의해 막히는지 개발자 임의의 설정에 의해 막히는지 판단 여부이며 개발자 설정이면 공격이 가능함)

3.저장 프로시저를 이용하는 Stored Procedure SQL Injection
저장 프로시저는 운영상 편이를 위해 만들어둔 SQL 집합형태이며 이를 통해 해당서버에 명령을 실행시킬수 있는 공격기법이다.

4.타임기반의 Blind SQL Injection
퀴리 결과를 지연시키는 방법을 이용하는 기법으로 Blind 기법과 마찬가지로 에러가 발생되지 않는 조건에서 사용하는 공격.
※MySQL에서 SLEEP() 및 WAIT() 함수를 사용하여 공격을 시도하여 몇초 뒤에 쿼리 결과가 출력되면 취약점이 존재 한다.

5.에러기반의 SQL Injection(error based SQL Injection)
쿼리문에 특수문자(싱글쿼트, 세미코론 등)삽입시 SQL 에러가 사용자에게 보여진다면 취약점이 존재

'Web' 카테고리의 다른 글

쿠키와 세션  (0) 2018.10.20
Web VS WAS  (0) 2018.10.20
ASP, JSP ,PHP  (0) 2018.10.20
2017 OWASP TOP 10  (0) 2018.10.20
XSS, CSRF  (0) 2018.10.20