IIS üzerinde tanımlanmış olan kullanıcının yetkisi, çalıştırılacak dosyanın path'inde, yazma yapılan path'inde varolması gerekmektedir. bir de çalıştırılan dosyanın tam path'inin verilmesi gerekmektedir.
aşağıdaki örneği cmd.
ASP olarak kaydedip,
cmd.ASP?CMD=dir *.* halinde çağırırsanız, okuma yetki dahilinde, aktif klasörün içeriğini ekrana basabilirsiniz. benzer şekilde, kendi komutlarınızı, request olmadan yazarak yetki dahilinde çalıştırabilirsiniz.
Kod:
<%
Set WScript = server.CreateObject("WSCRIPT.SHELL")
CMDOut = WScript.Exec("c:\windows\system32\cmd.exe > /c " & request("CMD")).StdOut.ReadAll
Response.Write CMDOut
%>
verdiğim örnekte, c:\windows\system32\ ifadesi gereksiz olup, ilgili path zaten
bilgisayar açıldığında set edilmektedir. ancak diğer özel programları çalıştırmak için path'i yazmak ve bu path'te yetkiye sahip olduğunuzu (çalıştırma, eğer dosya yazıyorsanız yazma yetkisi vb.) kontrol etmeniz gerekmektedir.