우회 공격 기법

1. 널 문자 (NULL) 우회

• 널 문자: 문자열 끝 표시 또는 초기화 용도 • URL 파라미터에 %00 삽입 가능 • 운영체제: 널 문자 위치를 파일명 끝으로 인식 • 웹 애플리케이션 취약점: 널 문자 허용 시 확장자 검사 우회 가능

2. Path Traversal

• 정의: 업로드/다운로드 경로 조작 공격 • 특수 디렉터리 활용: . (현재), .. (상위) • 예시: foo/../../../../../etc/passwd • 주의: 윈도우와 리눅스의 동작 차이

3. 정규식 확장자 검사 우회

• 다양한 정규식 패턴의 취약점 • 주의점: 모든 경우의 수 고려 필요 • 예시: (\..), (\.[^.]), (\.[^.])$, [^.](\.[^.]*)$ • 줄바꿈 문자(%0a)를 이용한 우회 가능성

4. 문자열 치환 우회

• 확장자 치환 시 발생하는 취약점 • 예시: webshell.ph.phpp → webshell.php • 단순 치환의 한계와 우회 방법

5. NTFS Alternate Data Stream (ADS) 우회

• NTFS의 ADS 기능 악용 • 파일명 구조: Filename:Stream:$DATA • 예시: Shell.php::$DATA. → Shell.php • 웹 애플리케이션의 확장자 검사 우회 가능