PHP ve passthru exec fonksiyonu?

3 Cevap php

Merhaba PHP exec () ve passthru () hakkında bir kaç soru var.

1)
I never used exec() in PHP but I have seen it is sometimes used with imagemagick. I am now curious, what is some other common uses where exec is good in a web application?

2)
About 6 years ago when I first started playing around with PHP I did not really know anything, just very basic stuff and I had a site that got compromised and someone setup there own PHP file that was using the passthru() function to pass a bunch of traffic throught my site to download free music or video and I got hit with a 4,000$ bandwidth charge from my host! 6 years later, I know soo much more about how to use PHP but I still don't know how this ever happened to me before. How can someone beable to add a file to my server through bad code?

3 Cevap

1] Exec () gerçekten yararlı olduğunda:

A) için bir komut eşdeğeri yok php sunucu üzerinde bir program / yardımcı programını çalıştırmak istiyorum. Örneğin ffmpeg (medya dönüşüm için her türlü) bir exec çağrısı ile çalıştırmak yaygın aracıdır.

Eğer üzerinde engellemek engellemek veya DEĞİL olabilir - - çok güçlü B) başka bir süreci yayınlanıyor. Bazen olmayan engelleme için doğru CL args ile birlikte olsa bir pcnt_fork Qant, veya benzer.

XSLT 2.0 işlemek zorunda C) Başka bir örnek - I) (dönüşümleri işlemek için çalışıyor olması küçük bir java hizmeti exec var. Çok kullanışlı. PHP XSLT 2.0 dönüşümleri desteklemiyor.

2] Damn that's a shame. Well, lots of ways. Theres a family of vulnerability called, "remote file include vulns", that basically allow an attacker to include arbitrary source and thus execute it on your server. Take a look at: http://lwn.net/Articles/203904/

Ayrıca, yukarıda belirtildiği gibi, sizin (Çok basitleştirilmiş) gibi bir şey yapıyor ki:

exec("someUnixUtility -f $_GET['arg1']"); 

?:, Kod temelde aşağı kaynar, Eh, saldırgan, url.come arg1 = "rm-rf / filan" gelmez hayal

exec("someUnixUtility -f blah; rm -rf /");

Unix Hangi, w / komutları ayrı; Yani evet - bu çok fazla hasar olabilir.

Same with a file upload, imagine you strip the last four chars (.ext), to find the extension. Well, what about something like this "exploit.php.gif", then you strip the extension, so you have exploit.php and you move it into your /users/imgs/ folder. Well, all the attacker has to do now is browse to users/imgs/exploit.php and they can run any code they want. You've been owned at that point.

exec() Eğer yorumlanır php, daha hızlı koşmak istiyorum, hangi sunucu üzerinde derlenmiş kod kullanmanıza olanak sağlar.

Hızlı bir şekilde yapılması gereken işleme büyük miktarda var ise, exec() yararlı olabilir.