Aracılığıyla çalıştırılabilir kod yüklüyor

7 Cevap php

Ben insanların keyfi URL <a href="ARBITRARY URL"> dahil ve <img src="ARBITRARY URL" /> etiketleri olacağını girmek için izin verecek bir uygulama üzerinde çalışıyorum.

Güvenlik risklerinin ne tür bakıyorum?

App PHP kodlanmıştır, ve ben şu anda gerçekleştirmek yalnızca güvenlik önlem HTML olarak göndermeden önce giriş URL karşı PHP'nin htmlentities() fonksiyonunu kullanıyor. Ben de URL metin ya http:// veya https:// ile başlar ama o kadar akıllı bir şey, güvenlik gerçekleştirerek eğer ben bilmiyorum emin olmak için kontrol ediyorum.

Benim son kullanıcıların güvenliğini sağlamak için başka ne yapıyor olmalıdır?

7 Cevap

XSS Checklist bir göz atın.

Sen her zaman sterilize edilmelidir, img etiketleri cross-site-scripting açıktır

Sen XSS (Cross site scripting) ve XSRF (Cross site request forgery) hakkında okumak istiyorum

EDIT: As pointed out by ryeguy, you can pretty much copy and paste any of the examples in XSS (Cross Site Scripting) Cheat Sheet and seek the best way to prevent from them accordingly.

Ayrıca geçerli bir javascript dosyası bir görüntü oluşturmak ve çalıştırmak için bir tarayıcı almak mümkündür. Bkz http://www.thinkfu.com/blog/?p=15

SVG görüntüleri (mime-tipi image / svg + xml) javascript içerebilir. Bkz http://www.w3.org/TR/SVG/interact.html

Buna ek olarak, inline data yeni tarayıcılar kullanarak URL içine tüm görüntüleri eklemek mümkün. O, oradan bir şey enjekte etmek, ancak o şaşkın tarayıcı tarafı güvenlik delik gerektirir ve ben böyle bir şey sterilize bilemeyiz mümkün olabilir.

Belki de sadece belirli etki alanlarına erişimi kısıtlamak istiyorsanız, ya da bir görüntü fiziksel olarak var olup olmadığını kontrol ettiniz mi? Zaten çok yardımcı olabilir.

CSRF:

<img src="http://example.org/accounts/123/delete" />

Bugüne kadar büyük cevaplara ek olarak, XSS hile levha gerçekten olay Bunlar bir şey olduğunda birileri bazı javascript çalıştırmak için izin, tasarım, hepsi onmouseover onhover vb gibi özellikleri hesaba gelmez.