Client Use of iFrame Without Sandbox Açıklığı (CWE-829) | ||||||||||||
Bu makalede Client Use of iFrame Without Sandbox (CWE-829), yani iFrame'de Sandbox Kullanılmaması açıklığı anlatılacaktır.
Açıklık Önem Derecesi: Düşük Açıklığın Etkisi: XSS, oltalama ve clickjacking saldırılarına karşı savunmasız kalma Açıklığın Açıklaması: iFrame ile güvenilmeyen, uzak bir kaynaktan bir web sayfaya sayfa gömmek genellikle bir mesuliyet gerektirir. Çünkü iframe ile hangi web sayfasına sayfa gömülmüşse o web sayfanın güvenliği harici ve potansiyel olarak güvenilmez bir kaynağa dayandırılmış olur. Bu durum özellikle üçüncü taraf sağlayıcılardan reklamlar göstermek için iframe’ler kullanıldığında yaygınlık teşkil eder. Eğer gömülen kaynağın güvenliği zararlı içerik servis edecek şekilde ihlal olursa bu durumda gömülen sayfa ile beraber esas web uygulama sayfasının da güvenliği olumsuz etkilenir. Bu amaçla iframe’lerde yer alan sandbox özelliği kullanılmalıdır. Sandbox ile iFrame yetenekleri iptal edilebilir veya kısıtlanabilir. Bu şekilde harici içeriği gömerken oluşan risk limitlenmiş olur. Uzak bir kaynaktan gelen içeriklere sahip, düzgün sandbox uygulanmamış bir iFrame kullanımı Cross-Site Scripting (XSS) ile sonuçlanabilecek zararlı script çalıştırmaya, oltalama saldırılarıyla sonuçlanacak zararlı bir web sitesine yönlendirmeye veya daha fazla işleme izin verebilir. Bir iFrame’de sandbox kullanılmadığında web uygulamada iFrame’de Sandbox Kullanılmaması (CWE-829) açıklığı vardır denir. Güvensiz ve güvenli iframe kullanımlarına örnekler verilmiştir: HTML / JS - Güvensiz iFrame: <iframe src="https://untrusted.example.com/content.html"> HTML / JS - Güvenli iFrame: <iframe src="https://untrusted.example.com/content.html" sandbox > Açıklığın Önlemi: Bu açıklığı kapamak için tavsiye edilen öneriler şu şekildedir:
iframe'in getirdiği içeriğe verdiği tüm izinleri kapatmak için sandbox gösterildiği gibi kullanılmalıdır: ![]() Böylece üçüncü taraf konumdan gelen içeriğin tüm izinleri kapatılmış olur. iframe'in getirdiği içeriğe belirli izinler vermek için ise sandbox özelliğine gösterilen şu değerler konulabilir:
Bu şekildeki güvenlik seviyesi ayarlı örnek bir kullanım verilmiştir: ![]() Bu örnek kullanım ile iframe'in getirdiği içeriğe kendi içindeki javascript kodlarını çalıştırma izni ve ayrıca popup çıkarabilme izni verilmektedir. Kurum web uygulama geliştiricileri de kullandıkları iframe'lerin ihtiyaç duydukları izinlerini tespit edip sandbox ile sadece o izinleri vererek iframe'lerini kullanmalıdırlar. Böylece iframe ile gelen içeriği kontrollü bir şekilde uygulamalarında çalıştırmış olacaklardır. Yarararlanılan Kaynaklar:
|
||||||||||||
![]() |
||||||||||||
|
||||||||||||
Yorumlar |
||||||||||||
Henüz yorum girilmemiştir. | ||||||||||||
Yorum Ekle | ||||||||||||