-
SQL injection 바로 잡기 #4 문자열Wargame Site/SQL injection 2020. 3. 12. 19:55
우선 수업을 진행하면서 문자열의 직접적인 언급이 필터링되어 있는 문제에 대해서 해결책을 크게 4가지 제시했다.
- 0x 표현
- 역슬래시 표현
- ike 활용
- concat 활용
crackus 5 번 문제에서 다음과 같이 admin 의 사용이 막혀있는 것을 알 수 있다.
0x표현
0x 표현은 문자열로 바뀌는 것을 알 수 있다.
\ 역슬래시 활용
이스케이프 문자에 해당되는 문자를 제외하고 다른 문자들 앞에 역슬래시를 넣어줌으로써 우회가 가능하다.
( '\n' 는 Line Feed 이다. )
like 활용
LOS 11 번문제 Golem 에서 더 자세히 다루고 있다.
concat 활용
Concat 이라는 함수를 통해서 admin 을 나누어서 하나의 문자열을 나타낼 수 있다.
하지만, 여기서 학생들이 자주하던 실수가 있다.
모든 필터링을 위와 같은 방법으로 우회 가능하다는 오개념을 가지고 있었다.
예를들어 문제에서 select 를 막고 있다고 해서 se\lect 로 우회할 수 있는 것이 아니라는 것이다.
위의 1, 2, 4번 우회방법이 이러한 혼란을 가져올 수 있다.
1번, 4번은 그 자체로 문자열을 나타내는 것으로 문장의 핵심 문법을 나타낼 수 없으며,
2번 우회방법은 문자열 내에서의 표현에 한해서 사용가능하기 때문이다.
'Wargame Site > SQL injection' 카테고리의 다른 글
if 의 동작방식을 이해해야만 풀리는 SQL inejction (0) 2021.02.13 SQL injection 바로 잡기 #5 Where 동작의 이해 (0) 2020.03.12 여러분~~!! (0) 2019.05.31 저는 여전히 꾸준한 한걸음 중입니다 ~ (0) 2019.05.29 SQL injection 바로 잡기 #3 Bool Value (0) 2019.05.20 댓글