Oh! JUN
각 DBMS에 따른 Response-Based SQL 문법 테스트 본문
# MYSQL
* MYSQL은 Divide by Zero 에러 발생을 하지 않아서 다중 레코드 에러만 가능
# ORACLE
쿼리 | 결과 |
select case when 1=1 then 'a' else CAST(1/0 as char) end from dual; | a |
select case when 1=2 then 'a' else CAST(1/0 as char) end from dual; | ORA-01476: 제수가 0 입니다 Error code: 1476 SQL state: 22012 |
select case when 1=1 then 1 else 1/0 end from dual; | 1 |
select case when 1=2 then 1 else 1/0 end from dual; | ORA-01476: 제수가 0 입니다 Error code: 1476 SQL state: 22012 |
select case when 1=1 then 'a' else (select 'a' from dual union select 'b' from dual) end from dual; | a |
select case when 1=2 then 'a' else (select 'a' from dual union select 'b' from dual) end from dual; | ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. Error code: 1427 SQL state: 21000 |
select case when 1=1 then 1 else (select 1 from dual union select 2 from dual) end from dual; | 1 |
select case when 1=2 then 1 else (select 1 from dual union select 2 from dual) end from dual; | ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. Error code: 1427 SQL state: 21000 |
# MSSQL
select case when 1=1 then 'a' else CONVERT(char, 1/0) end; | a |
select case when 1=2 then 'a' else CONVERT(char, 1/0) end; | 0으로 나누기 오류가 발생했습니다. Error code: 8134 SQL state: 22012 |
select case when 1=1 then 1 else 1/0 end; | 1 |
select case when 1=2 then 1 else 1/0 end; | 0으로 나누기 오류가 발생했습니다. Error code: 8134 SQL state: 22012 |
select case when 1=1 then 'a' else (select 'a' union select 'b') end; | a |
select case when 1=2 then 'a' else (select 'a' union select 'b') end; | 하위 쿼리에서 값을 둘 이상 반환했습니다. 하위 쿼리 앞에 =, !=, <, <=, >, >= 등이 오거나 하위 쿼리가 하나의 식으로 사용된 경우에는 여러 값을 반환할 수 없습니다. Error code: 512 SQL state: 21000 |
select case when 1=1 then 1 else (select 1 union select 2) end; | 1 |
select case when 1=2 then 1 else (select 1 union select 2) end; | 하위 쿼리에서 값을 둘 이상 반환했습니다. 하위 쿼리 앞에 =, !=, <, <=, >, >= 등이 오거나 하위 쿼리가 하나의 식으로 사용된 경우에는 여러 값을 반환할 수 없습니다. Error code: 512 SQL state: 21000 |
* MYSQL, MSSQL은 from 절 생략가능 / ORACLE은 from 절 반드시 필요
'웹 해킹 > SQL Injection' 카테고리의 다른 글
ORDER BY 구문에 대한 SQL Injection 공격 (0) | 2022.09.18 |
---|---|
Response-Based SQL Injection 공격 실습 (0) | 2022.09.17 |
[DVWA] SQL Injection 실습 (Low Level, blind+비트) (0) | 2022.09.13 |
[DVWA] SQL INJECTION 실습 (Low Level) (0) | 2022.09.04 |
데이터 추론 기법(비트, ORACLE) 실습 (0) | 2022.09.01 |