1. 개요
일부 IIS 서버에서 MS-DOS와의 호환을 위해 Short-FileName(SFN)을 사용 / 8.3 File Name 규칙을 허용한 경우 발생하는 취약점이다.
지금까지 IIS 하위 버전(7이하)에서만 발견되는줄 알았으나, 8.3 File Name을 지원하는 경우 Microsoft IIS/8.5 버전에서도 취약했다.
하지만, Microsoft IIS/8.5 버전에서는 파일 및 디렉토리의 존재 유무에 따른 응답값이 다른 것을 웹 사이트 상으로 확인이 불가하였다.
(DEBUG 메소드를 사용하기 때문인 듯...)
즉, 툴을 사용해서 틸드문자 취약성을 판단해야 한다.
2. 툴 다운로드 및 사용법
툴 다운로드 링크 >> https://github.com/irsdl/iis-shortname-scanner/
위 링크에서 툴을 다운로드 한 후, 압축을 풀면 run.bat 배치파일로 실행 가능하며, cmd 창에서 iis_shortname_scanner.jar 실행으로도 가능하다.
>> 타겟 URL을 지정할 때는 폴더까지 지정해주는 것이 좋다.
>> 쓰레드 수는 최대한 낮게 설정해주는 것이 서버 부하를 줄일 수 있다(0도 가능)
결과를 보면, 해당 URL/폴더/ 하위에는 default.asp, modify.asp, view.asp, write.asp 등의 파일이 존재한다는 것이 유추 가능하다.
3. 대응방안
[ 8.3 File Name 비활성화 ] (8 버전 이상의 서버에서는 유일한 대응방법..인듯)
1. 레지스트리 편집기에서 HKLM/SYSTEM/CurrentControlSet/Control/FileSystem 내 NtfsDisable8dot3NameCreation 값을 1로 설정
2. 기존에 생성되어 있는 파일의 8.3 FileName 비활성화
1. 현재 디렉토리를 복사한 후 디렉토리 명을 New(예시임)로 지정한다.
2. 현재 디렉토리의 디렉토리 명을 Old로 지정한다.
3. New디렉토리 명을 원래 파일명으로 지정한다.
4. 참고 사이트
'Study > Web' 카테고리의 다른 글
[JSP] 파일업로드 확장자 우회 (1) | 2019.03.19 |
---|---|
[ASP] Sample Code + CMD Webshell (0) | 2019.01.08 |
[BurpSuite] handshake alert: unrecognized_name 문제 해결 (0) | 2018.06.07 |
HTML과 JavaScript를 사용해 간단한 계산기 만들기 (0) | 2014.08.06 |
웹 프로그래밍 언어 소개 (0) | 2014.07.08 |