본문 바로가기
Tech/Windows

윈도우 이벤트ID 1309, 클라이언트에서 잠재적 위험이 있는 request.path 값을 발견했습니다

by 트리시스 2025. 2. 24.
반응형

Windows 이벤트 ID 1309에서 “클라이언트에서 잠재적 위험이 있는 request.path 값을 발견했습니다” 오류는 ASP.NET에서 보안 정책에 의해 특정 URL 요청이 차단될 때 발생합니다.

이 오류는 일반적으로 다음과 같은 이유로 발생합니다:
• URL에 특수 문자가 포함됨 (예: <, >, %, :, &, ?, " 등)
• 요청된 경로(Request Path)가 ASP.NET의 요청 유효성 검사(Request Validation)에 의해 차단됨
• 웹 애플리케이션이 URL 인코딩이 잘못된 요청을 받음
• 악의적인 XSS(크로스 사이트 스크립팅) 또는 SQL 인젝션 공격 시도

1. 이벤트 로그에서 오류 확인

① 이벤트 로그(Event Viewer)에서 확인
1. Win + R → eventvwr.msc 입력 → Enter
2. Windows 로그 → 응용 프로그램(Application)
3. 이벤트 ID 1309 검색
4. 오류 메시지에서 Request Path 값을 확인

2. 주요 해결 방법

① URL 스캐닝 예외 처리 (Request Path Validation 비활성화)

ASP.NET은 기본적으로 요청된 URL에 특수 문자가 포함되면 차단합니다.
이 기능을 비활성화하려면 web.config에서 다음 설정을 추가하세요.

1) .NET Framework 기반 프로젝트

web.config에서 다음을 추가:

<configuration>
  <system.web>
    <httpRuntime requestPathInvalidCharacters="" />
  </system.web>
</configuration>

이렇게 하면 ASP.NET의 기본 특수 문자 필터링이 해제됩니다.

2) .NET Core 기반 프로젝트

.cs 파일에서 Request Filtering Middleware 설정:

app.Use(async (context, next) =>
{
    context.Features.Get<IHttpRequestFeature>().RawTarget = context.Request.Path;
    await next();
});

⚠️ 보안상 위험이 있으므로 신중히 적용해야 합니다.

② IIS에서 URL 필터링 예외 처리

IIS에서 특정 URL 패턴이 차단될 수도 있습니다.
IIS 설정을 변경하려면:
1. IIS 관리자 열기 (inetmgr)
2. 좌측에서 웹사이트 선택 → 요청 필터링(Request Filtering) 클릭
3. 편집(Edit Feature Settings) → “Allow double escaping” 옵션 체크
4. web.config에서 설정 변경:

<system.webServer>
  <security>
    <requestFiltering allowDoubleEscaping="true" />
  </security>
</system.webServer>



이렇게 하면 URL의 특수 문자가 차단되지 않습니다.

③ 웹 애플리케이션에서 허용 가능한 URL 확인 및 수정
• 클라이언트에서 의도하지 않은 특수 문자가 포함된 URL 요청을 보내고 있을 수 있음
• 웹 애플리케이션에서 URL을 인코딩하여 전송

string safeUrl = HttpUtility.UrlEncode(userInput);


• RequestValidationMode="2.0" 설정으로 유효성 검사 변경 가능:

<configuration>
  <system.web>
    <pages validateRequest="false" />
  </system.web>
</configuration>

⚠️ 보안 취약점이 발생할 수 있으므로 신중하게 적용해야 함

3. 추가 조치 및 보안 고려 사항

✅ XSS 및 SQL Injection 공격 여부 확인
✅ 로그에서 차단된 Request Path(URL) 분석
✅ 웹 애플리케이션 코드에서 입력값 검증(Validation) 적용
✅ 최소한의 예외 처리만 적용하여 보안 유지

반응형

댓글