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ını 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 etkinleş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 farklı bölgelere (parametreler, formlar, url...) enjekte etmeye başlamalı ve her seferinde arama yapmalısınız. DOM Invader, canary'nin herhangi bir ilginç sinkte sona erip ermediğini kontrol edecektir.
Ayrıca, URL parametrelerini Enjekte Et ve formları Enjekte Et seçenekleri, bulduğu her URL parametresine ve form'a canary enjekte ederek otomatik olarak yeni bir sekme açacaktır.
Sayfanın sahip olabileceği potansiyel sinkleri 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ına benzer.
Web mesajlarının değiştirilmesi ve yeniden gönderilmesi, DOM XSS için manuel test yapmaya benzer, Burp Repeater'ın işlevine.
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'dan olay işleyiciye ç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
: Genellikle bir iframe'i referans alan kaynak özelliğinin doğrulanıp doğrulanmadığını değerlendirir. Bu kontrol edilse bile, doğrulamanın atlanamayacağına dair bir garanti yoktur.
Mesajlar görünümünden, herhangi bir mesaja tıklayarak mesaj detayları penceresini açın.
Gerekli şekilde Veri alanını düzenleyin.
Gönder butonuna tıklayın.
DOM Invader ayrıca Prototip Kirlenmesi zafiyetlerini arayabilir. Öncelikle, bunu etkinleştirmeniz gerekir:
Sonra, 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'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)