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
'Web > Lord of SQL Injection' 카테고리의 다른 글
Lord of SQL Injection 7단계 (orge) (0) | 2023.03.09 |
---|---|
Lord of SQL Injection 6단계 (darkelf) (0) | 2023.03.09 |
Lord of SQL Injection 4단계 (orc) (2) | 2023.03.08 |
Lord of SQL Injection 3단계 (goblin) (0) | 2023.03.08 |
Lord of SQL Injection 2단계 (cobolt) (0) | 2023.03.07 |