출처: http://hyunmini.tistory.com/22
웹 점검을 하다 보면, 웹 방화벽 혹은 소스상에서 특정 키워드를 필터링 하는 경우를 볼 수 있다.
이러한 경우 우회를 하기 위해선 먼저 어떤 문자열들이 필터링 당하는지 확인을 할 필요가 있다.
중요한 것은 먼저 필터링을 "발견" 하는 것이다. 필터링이 적용된 페이지 혹은 사이트의 경우
반응은 여러가지이다. 특정 문자열이 포함될 시 웹사이트의 반응은 아래와 같이 여러가지일 수 있다.
1) 500 에러 발생 2) 200 이지만 에러 페이지로 리다이렉트 3) 그냥 치환 4) 에러 메시지를 통한 자세한 정보 노출 5) 기타.. |
가장 편한 경우는 4) 의 경우이고, 다른 몇가지 경우에도 간단히 필터링되는 문자열을 찾아낼 수 있다.
1) 정상적인 페이지
view.jsp?no=1155 |
2) ' 가 필터링 되지 않아 아래의 경우에도 위와 동일한 응답
view.jsp?no=11'55 |
3) " 는 필터링 되어 오류 메시지
view.jsp?no=1155 |
위와 같은 방식으로 여러가지 특수문자들을 대입해 보면 필터링 당하는 문자열들을 발견할 수 있다.
필터링 당하는 문자열을 파악하고 나면, 공격 페이로드를 구성한 뒤 필터링 당하는 문자열들을 다른 문자열 혹은
함수를 이용하여 우회한다.
1. SQL Injection
1) 키워드 필터링 시
- select, union 등 키워드 우회
-> SeLEct
-> s%E%l%e%c%T
-> selselectect
- or, and, = 등 필터링 시
-> ^, |, & 사용
-> like, between 사용
- ' 필터링 시 문자열 조립
-> char(0x41) + char(0x48)
- 공백 필터링
-> /**/, %20, %2b, + , %09 등
'프로젝트 관련 조사 > 모의 해킹' 카테고리의 다른 글
[Web Scanning Tool] Nessus (Ubuntu ) (0) | 2016.07.16 |
---|---|
[Web Proxy Tool] Fiddler (0) | 2016.07.16 |
SQL Injection(MySQL) - procedure analyze() (0) | 2016.07.10 |
mysql 우회 기법 정리 (0) | 2016.07.10 |
SQL Injection Cheat Sheet - MySQL (0) | 2016.06.18 |