Skip to main content

WAF 우회 플레이북: 시그니처를 흔드는 작은 변형

WAF는 보통 정규식/시그니처 기반으로 요청을 차단합니다. 따라서 우회는 “기능은 유지하되 형태를 바꾸는” 전략이 핵심입니다. 아래는 CTF와 실전 테스트에서 자주 쓰는 변형 패턴입니다.

1) 인코딩/정규화 흔들기

  • URL 인코딩 이중화(%252f), 혼합 인코딩(%2f + /)
  • 유니코드 호환 문자(%u2215 등)로 슬래시/공백 대체
  • 대소문자, 공백, 주석으로 토큰 분리

2) 페이로드 구조 바꾸기

  • SQLi: UNION/**/SELECT, /*!50000UNION*/ 같은 주석 분할
  • XSS: 이벤트 핸들러 분산, svg/math 태그로 컨텍스트 전환
  • SSTI: 필터 회피용 속성 체인 분해 (__class__attr 체인)

3) 요청 경로/헤더 변형

  • 동일 리소스를 다른 경로로 접근(;/, ..;/ 등)
  • 헤더 기반 우회: X-Forwarded-For, X-Original-URL 활용

방어 관점

  • 서버단 정규화 우선 처리(decode → canonicalize) 후 검사
  • WAF 룰을 행위 기반(rate/entropy/behavior)으로 보강

우회는 결국 “정규화 이전의 틈”을 찾는 게임입니다. 테스트 환경에서 합법적으로만 검증하세요.