Notice
Recent Posts
Recent Comments
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
04-06 12:49
Today
Total
관리 메뉴

[W-21] IIS 미사용 스크립트 매핑 제거 본문

인프라진단/진단 항목 정리

[W-21] IIS 미사용 스크립트 매핑 제거

h4ckpr1n 2025. 9. 10. 13:01

진단 내용

기본 확장자 매핑(.htr, .idc, .stm, .printer, .ida, .idq 등)의 경우, 오래전 사용하던 취약한 DLL 파일들과 매핑되어있어 해당 파일들에 대한 요청이 들어오면 공격 위험이 존재함. 해당 확장자들은 매핑 제거가 필요함

 

진단 방법

1) 확인 경로

아래 경로에서 처리기 매핑에 취약한 확장자가 매핑되어있는지 확인.

 

- 서버 전체: %windir%\System32\inetsrv\config\applicationHost.config
- 사이트별/응용프로그램별: 해당 경로의 web.config

이 안에 <system.webServer><handlers> ... </handlers></system.webServer> 섹션에서 매핑이 기록되어 있음.

현재 exe, asp 파일에 대해서 실행이 가능한 상태고, 위에서 언급한 취약한 스크립트에 대해서 실행이 가능한 상태는 아님.

<system.webServer>
  <handlers>
    <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" requireAccess="Execute" />
    <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="AspClassicModule"
         scriptProcessor="C:\Windows\System32\inetsrv\asp.dll" resourceType="File" />
  </handlers>
</system.webServer>

 

 

취약예시 1: 취약한 스크립트 매핑

아래는 위에서 언급한 스크립트에 대해서 매핑하고 있어서 취약한 상태.

  <handlers accessPolicy="Read, Script">
    <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
    <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
    <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
  </handlers>
  <httpHandlers>
  </httpHandlers>

 

위의 매핑 라인을 아예지우던가, 404 에러로 넘겨주는 라인을 추가해주면 된다.

사실 지금 개발할때는 거의 안써서 지우는게 깔끔.

Comments