SQL Injection 문제를 풀면서 검색하고 알아낸 공백 문자 필터링 우회 방법을 까먹지 않고 종종 사용할 수 있게 적어놓겠다.
[공백 문자 필터링 우회]
1) 개행문자 \n
- 커서를 다음 줄로 이동시키는 개행문자
- url encoding : %0a
2) Tab \t
- 커서를 탭 하나만큼 이동시키는 문자
- url encoding : %09
3) 캐리지 리턴 \r
- 커서를 줄의 맨 왼쪽으로 이동시키는 문자
- url encoding : %0d
4) 주석 /**/
5) 괄호 ()
6) 더하기 +
7) %0b, %0c, %a0
위 방법 모두 실패할 경우 사용
- %0b : vertical tab
- %0c : form feed
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
추가로 다른 우회방법도 차차 적어나갈 예정!! (다른 우회 방법들도 적어가면서 제목이랑 내용도 수정할 예정)
[LIKE 우회]
% : 그 위치의 문자 한개 이상
_ : 그 위치의 문자 한개
----------------------------- 2023.02.01 추가 -----------------------------
[주석 모음]
# : 뒤의 한 줄이 모두 주석처리 됨
-- : 뒤의 한 줄이 모두 주석처리 됨 (-- 뒤에 공백이 있어야함)
/**/ : /* */ 사이의 문자들이 모두 주석처리 됨
;%00 : 뒤의 한 줄이 모두 주석처리 됨
[개행으로 우회]
%0a%0d 이용해서 개행 후 다음 줄에 SQL Injection 시도
[ascii() 함수 우회]
ord() : 아스키함수와 기본적으로 동일하게 작동하지만, ascii 함수는 8비트까지만 표현 가능하고 ord 함수는 멀티바이트 문자까지 표현가능
hex() : 헥스값으로 결과를 출력해준다.
[substr() 함수 우회]
mid() : substr 함수와 동일하게 사용하면 된다. ex) select mid('abc', 1, 1); => 'a'
참고 블로그
SQL Injection 필터링 우회 방법 - 공백편
위와 같이 공백을 필터링하는 경우 우회 방법 (즉 띄어쓰기를 대신해서 사용하는 방법) 1) 개행 문자 \n - 커서를 다음 줄로 이동시키는 개행문자 - url encoding: %0a 2) Tab \t - 커서를 탭 하나만큼 이동
go-top.tistory.com
'WebHacking' 카테고리의 다른 글
SSRF, XXE 취약점 간단 개념 정리 (0) | 2023.02.20 |
---|---|
WebHacking - (11)마이페이지 만들기 (0) | 2022.12.28 |
WebHacking - (10)게시판 만들기_기간 검색 기능 (0) | 2022.12.27 |
WebHacking - (9)게시판 만들기_좋아요 기능 (0) | 2022.12.26 |
WebHacking - (1.1)CentOS7 MySQL 초기 root 비밀번호 설정 오류 (0) | 2022.12.23 |