웹 해킹&보안/SQLInjection

SQL Injection (UNION)

cyanhe_wh 2019. 9. 5. 13:46
반응형

UNION 연산자를 이용하여, UNION 연산자가 포함된 공격 쿼리를 주입하여 DB의 데이터를 획득한다.

 

UNION은 둘 이상의 SELECT 문에서 검색된 레코드를 단일 집합으로 결합해주는 연산자다.

UNION과 UNION ALL 이 존재한다.

 

UNION은 중복을 제거한 결과의 합을 나타내고, UNION ALL은 중복을 포함한 결과의 합을 나타낸다.

 

UNION 예제

select 'test' unison select 'good';

 

결과

test

-----

test

good

 

UNION 문법

SELECT...

UNION [ALL | DISTINCT] SELECT...

[UNION [ALL | DISTINCT] SELECT...]

 

UNION 연산자는 두 개의 SELECT문 사이에 위치하며 데이터 형만 호환된다면, 결과를 합쳐 주는 것 외에는 SELECT문의 사용법과 차이를 발견하기 어렵다.

 

이 공격 기법은 SQL 인젝션 공격이 가능한 파라미터가 확인되었어도 해당 파라미터의 인자 값이 삽입되는 위치에 따라 사용이 불가능한 경우도 있다.

 

UNION 연산자를 이용한 공격 기법은 다른 방법에 비해서 좀 더 수월하게 데이터 획득이 가능한 장점이 있기 때문에 가장 먼저 시도해 볼 만한 기술이다.

 

 

반응형

'웹 해킹&보안 > SQLInjection' 카테고리의 다른 글

SQL Injection  (0) 2019.09.03