7 Ağustos 2013 Çarşamba

en iyi dostum w3schools



Kaynak : https://eksisozluk.com/w3schools--507757?focusto=22316888

Şüphesiz yazılıma yeni başlayanlara tavsiye edilen kaynaklardan biri de W3schools dur. Birçok hatalı anlatımın yer aldığı bu sitede dolaşırken, "dosya yükleme" ile ilgili kod parçasında güvenlik açığı tespit ettim.

Konuyu detaylandırmak için ilgili sayfaya gidelim.
http://www.w3schools.com/php/php_file_upload.asp

echo "Upload: " . $_FILES["file"]["name"] . "<br>";

Yukarıda gördüğünüz kod parçası bütün örneklerin içinde geçiyor ve dikkat ederseniz dosya ismi hiç bir filtre uygulanmadan direkt olarak son kullanıcıya yansıtılmış. Yani XSS zafiyetine sebep oluyor. Kodu sömürmeyi deneyelim.
<img src=1 onerror=prompt(1)>.jpg


Dosyanın ismini yukarıdaki gibi değiştirip sunucuya yolluyoruz. Yükleme işlemi gerçekleştikten sonra karşımıza aşağıdaki gibi bir ekran çıkacaktır.

JS Çalışmadı! Konsoldan son durumu kontrol ettiğimizde, Chromium XSS Auditor tarafından JS kodunun engellendiğini görüyoruz. Firefox'u açıyoruz ve aynı işlemleri tekrar ediyoruz.



Görüldüğü gibi başarılı bir şekilde JS kodunu çalıştırabildik ve yazılımın enjeksiyon noktasını tespit ettik. Konuya farklı bir bakış açısı getirmek adına, daha önce Facebook'ta çıkmış olan XSS güvenlik açığını incelemenizi tavsiye ederim. http://blog.detectify.com/post/39209711597/how-i-got-a-3-500-usd-facebook-bug-bounty

Peki bu kodu nasıl güvenli bir hale getirebiliriz? 

This is a very simple way of uploading files. For security reasons, you should add restrictions on what the user is allowed to upload.

Kaynak : http://www.w3schools.com/php/php_file_upload.asp

EOF

0 yorum:

Yorum Gönder