사용자 삽입 이미지

SQL Injection 공격을 이해하기 위해서는 논리연산자(Logical Operators)를 잘 이해하면 많은 도움이 된다. 여기에서는 MySQL의 연산자 중의 일부에대해서 설명한다.

SQL의 모든 놀리연산의 결과는 TRUE, FALSE, NULL(UNKNOWN)으로 나타난다. 이러한 논리 연산의 결과를 MySQL에서는 1 (TRUE), 0 (FALSE) 그리고 NULL 적용되어 있다. 대부분의 DB에서 이와 같은 방식을 쓰이나 일부 DB에서는 0 보다 큰 값을 TRUE으로 사용하기도 한다.

다음은 MySQL의 모든 버전에서 쓰이는 논리 연사자(진한 회색)와  일부 연산자(연한 회색)이다.

사용자 삽입 이미지
그림1. Logical Operators(MySQL 3.23/4.0/4.1/5.0/5.1/6.0)



이러한 논리 연산자는 대부분 잘 이해하고 있겠지만 논리 연산자에 대한 설명이므로 하나하나에 대해서 알아 보도록 하겠습니다. 연산자에 대해서 잘 이해하고 있다면 아래의 설명은 생략하셔도 무방합니다.


0x01 Logical AND Operator

MySQL에서는 논리 AND연산자를 다음과 같이 2가지로 정의하고 하고 있습니다.

AND, &&

select 1 && 1;       → 1
select 1 && 0;       → 0
select 1 && null;   → null
select 0 && null;   → 0
select null && 0;   → 0



0x02 Logical OR Operator

논리 OR 연사자는 다음과 같이 2가지로 정의하고 있습니다.

OR, ||

select 1 || 1;       → 1
select 1 || 0;       → 1
select 0 || 0;       → 0
select 0 || null;   → null
select 1 || null;   → 1




0x03 Logical XOR Operator

논리 XOR 연산자는 다음과 같이 정의하고 있습니다.

XOR

select 1 XOR 1;       → 0
select 1 XOR 0;       → 1
select 0 XOR 0;       → 0
select 0 XOR null;   → null
select 1 XOR 1 XOR 1;   → 1




0x04 Logical NOT Operator

논리 NOT 연산자는 다음과 같이 2가지로 정의하고 있습니다.

NOT, !

select not 10;      → 0
select not 0;       → 1
select not null;    → null
select ! (1+1);     → 0
select ! 1+1;       → 1




0x05 Etc Operators

[내용]


어쩌면 논리 연산자는 은연중 당연히 알고 있는 내용일지도 모른다. 하지만 이 논리 연산자를 잘 연구하면 조금의 변화를 꾀할 수 있다. 이 점이 Blind SQL Injection 공격에서 많은 차이점을 불러온다. 예를 들어 필터링 우회 등에서 많은 도움이 될지도 모른다.

언제나 기본에 충실하는게 중요한거 같다. ||, &&게 있는지는 잘 몰랐는데 ^^; 뭔가 기본기를 빼고 너무 멀리 와버린거 같다는 생각이 든다.
Posted by n3015m
:
BLOG main image
'네오이즘'의 보안LAB 블로그입니다........... n3oism@gmail.com by n3015m

카테고리

분류 전체보기 (228)
[ HappyDevTool ] (29)
[ HappyToolRelease ] (4)
[Book] (6)
[ Security Studies ] (0)
- CII (2)
- BigData (2)
- Web Hacking (10)
- SQL Injection (25)
- Mobile Security (9)
- Network (6)
- OperatingSystem (4)
- Malware & Reversing (4)
- Phishing (5)
- Compliance (0)
- Programming (13)
- Tools (13)
- IoT (6)
- etc (21)
[Pentration Testing] (3)
[OS X] (4)
[ Security Trends ] (16)
[ Fixing Guideline ] (7)
My Way, My Life (34)
About Me (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :