본문 바로가기
Web/Lord of SQL Injection

Lord of SQL Injection 5단계 (wolfman)

by jh117jh 2023. 3. 8.
728x90

이번에 처지할 몬스터는 wolfman!

최대한 귀여운걸로..

점심 먹고 하려니 점점 눈이 감긴다...

암튼 이번 코드를 봐보자.

싱글쿼터('), 더블쿼터(") 필터링은 안되어 있고 이번에는 이전과는 다르게 공백(space)이 필터링되어 있는 것을 알 수 있다.

공백이 필터링 되어 생기는 문제는 or 이나 and를 쓸때 양쪽에 공백을 넣어야 하기 때문에 공백이 필터링될 시 우회가 필요하다.

공백에 대한 우회 방법은 

 

 1. 개행 문자 \n

  - 커서를 다음 줄로 이동시키는 개행문자 (url 인코딩 : %0a)

 

2. TAB \t

  - 커서를 탭 하나만큼 이동시키는 문자 (url 인코딩 : %09)

 

3. 캐럿 return \r

  - 커서를 줄의 맨 왼쪽으로 이동시키는 문자 (url 인코딩 : %0d)

 

4. 괄호 ()

  - 띄어쓰기 대신 띄어쓰고 싶은 문자 양옆에 괄호 넣기

 

5. 더하기 +

  - 1+or+1

 

6. %0b, %0c

  - %0b = vertical tab

  - %0c = form feed

 

여기서 나는 tab을 사용해 보겠다.

 

공백만 우회한다면 지금가지 풀어본 문제와 똑같기 때문에 

? pw='% 09or%09id='admin'%23을 입력하면 문제가 풀린다!

 

다음 몬스터 잡으러 가자~!

728x90