소스코드를 보면, 몇가지 특수문자들이 필터링 되어있다.
스을쩍 훑어보면 no 파라미터에 1을 주면 guest 가 출력된다. (즉, no=1 은 게스트이다)
그렇다면, no 에 다른 번호를 준 후 or 연산자를 이용해서
id='admin' 을 하고 싶지만 싱글쿼터( ' ) 가 필터링 되어있다.
이걸 우회하는 방법 중 하나가 chr() 함수를 이용하는 것이다.
char() 함수는 인자로 어떤 문자의 아스키코드값을 주면 해당 문자를 반환한다.
ex) char(97) == 'a'
따라서 char(97,100,109,105,110) = 'admin' 이므로
?no=2 or id=char(97,100,109,105,110) 을 입력해준다. --> no가 2 거나 id가 admin 인경우 를 뜻한다.
id 파라미터에 admin 이 입력되면서
클리ㅇㅓ~~
'Wargame > LOS(Load of SQL Injection) Writeup' 카테고리의 다른 글
AUTO blind SQL Tools (이진탐색버전) (feat. LOS no.4 orc) (0) | 2022.02.17 |
---|---|
LOS(Load of SQL Injection) 6번 문제 풀이 (0) | 2020.04.30 |
LOS(Load of SQL Injection) 5번 문제 풀이 (0) | 2020.04.30 |
LOS(Load of SQL Injection) 2번 문제 풀이 (0) | 2020.04.30 |
LOS(Load of SQL Injection) 1번 문제 풀이 (1) | 2020.04.30 |