Signature Scanners를 넘어 Web Applications에서 행동 이상 관찰
Source: Dev.to
개요
대부분의 웹 스캐너는 페이로드 시그니처와 응답 매칭에 의존합니다. 실제로 서버는 명시적인 오류를 반환하지 않으면서도 다음과 같은 이상 행동을 보이는 경우가 많습니다:
- 지연 시간 급증
- 예상치 못한 리다이렉트
- 상태 코드 변화
시그니처 기반 도구는 이러한 시나리오를 보통 “클린”으로 보고하지만, 이는 백엔드 불안정성이나 로직 문제를 나타낼 수 있습니다. 문제는 이러한 이상 현상이 SQLi나 XSS와 같은 전통적인 취약점 카테고리에 맞지 않다는 점입니다—알려진 익스플로잇이 트리거되는지 여부가 아니라, 비정상적인 입력에 대해 시스템이 어떻게 반응하는가가 핵심입니다.
예시 관찰
아래는 http://testphp.vulnweb.com/artists.php 를 테스트한 결과 샘플입니다:
Notice:
artist=SLEEP(1)은 응답 시간이 ~197 ms → 3212 ms 로 급증하게 합니다.BODY_HASH변화는 서버 응답이 변경되었음을 나타냅니다.- 다른 입력(
%22,%5C,%255c)도 명시적인 오류 없이 바디 변화를 유발합니다.
특정 입력에 대한 지연 시간 급증(RTT) 및 바디‑해시 변화를 보여주는 스크린샷. 시그니처 기반 스캐너는 이를 “클린”으로 표시할 가능성이 높습니다.
이러한 이상 현상은 테스트 조건 하에서 서버가 예상치 못하게 동작할 수 있음을 강조하며, 전통적인 시그니처 기반 스캐너가 종종 놓치는 부분입니다.
행동 이상 탐지
- 응답 시간 모니터링: 각 요청의 라운드‑트립 시간을 추적하고, 큰 편차가 있으면 시간 기반 로직 경로를 추정합니다.
- 응답 바디 해시: 다양한 입력에 대한 응답 바디 해시를 비교하여 미묘한 내용 변화를 포착합니다.
- 리다이렉트 및 상태 코드 기록: 예상치 못한 3xx 리다이렉트나 상태 코드 변화를 기록합니다.
- 입력 패턴과 연관짓기: 관찰된 이상 현상을 트리거한 특정 페이로드와 매핑하여 근본적인 로직을 추론합니다.
커뮤니티 토론
테스트 중 이러한 행동 이상을 어떻게 감지하고 해석하는지 궁금합니다. 시그니처 매칭을 넘어서는 도구, 스크립트, 방법론을 공유해 주시면 큰 도움이 될 것입니다.
참고
선택적 맥락: Blink.