Tech/Windows

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

트리시스 2025. 2. 24. 09:26
반응형

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) 적용
✅ 최소한의 예외 처리만 적용하여 보안 유지

반응형