DOM Invader
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
DOM Invader, Burp'ın yerleşik tarayıcısında kurulu bir tarayıcı aracıdır. Çeşitli kaynaklar ve sinkler kullanarak DOM XSS zafiyetlerini tespit etmeye yardımcı olur; bunlar arasında web mesajları ve prototip kirlenmesi bulunmaktadır. Araç, bir uzantı olarak önceden yüklenmiştir.
DOM Invader, tarayıcının Geliştirici Araçları panelinde aşağıdakileri sağlayan bir sekme entegre eder:
DOM XSS testi için bir web sayfasındaki kontrol edilebilir sinklerin tanımlanması, bağlam ve sanitizasyon detayları sağlar.
postMessage()
yöntemiyle gönderilen web mesajlarının kaydedilmesi, düzenlenmesi ve yeniden gönderilmesi için DOM XSS testi. DOM Invader ayrıca özel olarak hazırlanmış web mesajları kullanarak zafiyetleri otomatik olarak tespit edebilir.
İstemci tarafı prototip kirlenmesi kaynaklarının tespiti ve riskli sinklere gönderilen kontrol edilebilir gadgetların taranması.
DOM clobbering zafiyetlerinin tanımlanması.
Burp'ın yerleşik tarayıcısında Burp uzantısına gidin ve bunu aktifleştirin:
Şimdi sayfayı yenileyin ve Geliştirici Araçları'nda DOM Invader sekmesini bulacaksınız:
Önceki resimde bir rastgele karakter grubu, yani Canary görebilirsiniz. Şimdi bunu webin farklı kısımlarına (parametreler, formlar, url...) enjekte etmeye başlamalısınız ve her seferinde arama butonuna tıklayın. DOM Invader, canary'nin herhangi bir ilginç sinkte sonlanıp sonlanmadığını kontrol edecektir.
Ayrıca, URL parametrelerini Enjekte Et ve formları Enjekte Et seçenekleri, bulduğu her URL parametresine ve formuna canary enjekte ederek otomatik olarak yeni bir sekme açacaktır.
Sayfanın potansiyel sinklerini bulmak istiyorsanız, bunlar istismar edilebilir olmasa bile, boş bir canary arayabilirsiniz.
DOM Invader, web mesajları kullanarak DOM XSS testi yapmayı sağlar ve şu özelliklere sahiptir:
postMessage()
ile gönderilen web mesajlarının kaydedilmesi, Burp Proxy'nin HTTP istek/yanıt geçmişi kaydıyla benzerlik gösterir.
Web mesajlarının değiştirilmesi ve yeniden gönderilmesi, DOM XSS için manuel test yapmaya benzer, Burp Repeater'ın işlevine benzer.
Web mesajlarının otomatik olarak değiştirilmesi ve DOM XSS'i araştırmak için gönderilmesi.
Her mesaj hakkında detaylı bilgi, üzerine tıklanarak görüntülenebilir; bu, istemci tarafı JavaScript'in mesajın origin
, data
veya source
özelliklerine erişip erişmediğini içerir.
origin
: Eğer mesajın origin bilgisi kontrol edilmezse, rastgele bir dış alan üzerinden olay işleyicisine çapraz alan mesajları gönderebilirsiniz. Ancak kontrol ediliyorsa, yine de güvensiz olabilir.
data
: Payload'un gönderildiği yerdir. Bu veri kullanılmazsa, sink işe yaramaz.
source
: Kaynak özelliğinin, genellikle bir iframe'i referans alıp almadığını değerlendirir. Bu kontrol edilse bile, doğrulamanın atlanamayacağına dair bir güvence vermez.
Mesajlar görünümünden, herhangi bir mesaja tıklayarak mesaj detayları penceresini açın.
Gerekli şekilde Data alanını düzenleyin.
Gönder butonuna tıklayın.
DOM Invader ayrıca Prototip Kirlenmesi zafiyetlerini arayabilir. Öncelikle, bunu aktifleştirmeniz gerekir:
Sonrasında, Object.prototype
'a rastgele özellikler eklemenizi sağlayan kaynakları arayacaktır.
Eğer bir şey bulunursa, bulunan kaynağı test etmek için bir Test butonu görünecektir. Üzerine tıklayın, yeni bir sekme açılacak, konsolda bir nesne oluşturun ve testproperty
'nin var olup olmadığını kontrol edin:
Bir kaynak bulduğunuzda bir gadget için tarama yapabilirsiniz:
DOM görünümünde tanımlanan herhangi bir prototip kirlenme kaynağının yanında bulunan Gadget'lar için tara butonuna tıklandığında DOM Invader yeni bir sekme açar. Uygun gadget'lar için tarama başlar.
Bu arada, aynı sekmede DOM Invader sekmesi DevTools panelinde açılmalıdır. Tarama tamamlandığında, tanımlanan gadget'lar aracılığıyla erişilebilen herhangi bir sink DOM görünümünde görüntülenir. Örneğin, innerHTML
sink'ine geçirilen html
adlı bir gadget özelliği aşağıdaki örnekte gösterilmektedir.
Önceki görüntüde DOM clobbering taramasının açılabileceği görülmektedir. Tamamlandığında, DOM Invader DOM clobbering zafiyetlerini aramaya başlayacaktır.
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)