Cmd.exe Güvenlik zayıflık açmadan Windows üzerinde PHP Exec ()?

1 Cevap php

I have the requirement for a web script to execute an exe file and then return the results on the exe to the web request.

Ben de exe sonucu geri echo veya bir dosyaya sonuçlarını kaydetmek ve daha sonra web isteği geri yankı dosyasını okumak için exe değiştirebilirsiniz.

Sorun olduğunu IIS altındaki tüm exec () shell_execute () sistem (IIS anonim kullanıcı ıuser_% COMPUTER_NAME% C erişimi yok çünkü) 'çatal yapamaz' ile dışarı hata fonksiyonları yazın php kullanarak: \ windows \ system32 \ cmd . exe

This can be fixed by changing this IIS anonymous user's permissions for cmd.exe but this is significant security weakening (I believe).

Ben IIS anonymouse kullanıcıya cmd.exekutusuna açmadan Exe aramak IIS altında PHP script tarafından sahip herhangi bir yolu var mı?

Yardım takdir.

Neden bunu yapmak gerekiyor? Somone benim ödeme işlemci bir parametre olarak lisans adı geçen ve dönen bu lisans adı için bir seri numarası olan bir url aramak gerekiyor kredi kartı ile benim ürünü satın aldığı zaman ben, bir seri anahtar jeneratör var.

Benim lisans anahtarı jeneratör Ben bir bir exe var WinLicense olduğunu.

Gibi bir şey çalıştırmak için gereken

shell_exec("C:\inetpub\wwwroot\test.com\testLicense.exe \"".$regName."\""); // or exec() or system()

(TestLicense.exe benim php komut dosyası daha sonra echo bir dosya sonucu saklar)

1 Cevap

Çok dikkatli exec (yem değişkenleri) Filtresi.

sadece sayısal bilgi için tamsayılar kullanmak

onaylamak için onu () bir dosya kullanım File_exists eğer gerçek bir dosya adı bulunuyor

bir dize kullanım regex bulunuyor ve ve "ve \ ve 'karakterleri gibi kaldırırsanız; yüzden herhangi komutları çalıştırmak alışkanlık.