hacktricks/pentesting-web/xss-cross-site-scripting/debugging-client-side-js.md

4.1 KiB
Raw Permalink Blame History

Debugging Client Side JS

Debugging Client Side JS

{% hint style="success" %} AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Client tarafı JS'i hata ayıklamak zor olabilir çünkü URL'yi her değiştirdiğinizde (kullanılan parametrelerde veya parametre değerlerinde bir değişiklik dahil) kesme noktasını sıfırlamanız ve sayfayı yeniden yüklemeniz gerekir.

debugger;

Bir JS dosyasının içine debugger; satırını yerleştirirseniz, tarayıcı JS'i çalıştırdığında o noktada hata ayıklayıcıyı durdurur. Bu nedenle, sürekli kesme noktaları ayarlamanın bir yolu, tüm dosyaları yerel olarak indirmek ve JS kodunda kesme noktalarını ayarlamaktır.

Overrides

Tarayıcı overrides, çalıştırılacak kodun yerel bir kopyasına sahip olmanızı ve bunu uzak sunucudan gelen kod yerine çalıştırmanızı sağlar.
Overrides'a "Geliştirici Araçları" --> "Kaynaklar" --> "Overrides" bölümünden erişebilirsiniz.

Overrides'ı saklamak için kullanılacak yerel boş bir klasör oluşturmanız gerekir, bu yüzden yeni bir yerel klasör oluşturun ve o sayfada override olarak ayarlayın.

Ardından, "Geliştirici Araçları" --> "Kaynaklar" bölümünde override etmek istediğiniz dosyayı seçin ve sağ tıklayarak "Overrides için Kaydet" seçeneğini seçin.

Bu, JS dosyasını yerel olarak kopyalayacak ve tarayıcıda o kopyayı değiştirme imkanı verecektir. Yani, istediğiniz yere debugger; komutunu ekleyin, değişikliği kaydedin ve sayfayı yeniden yükleyin, her seferinde o web sayfasına eriştiğinizde yerel JS kopyanız yüklenecek ve hata ayıklayıcı komutunuz yerinde kalacaktır:

References

{% hint style="success" %} AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}