Chrome Geliştirici Araçları, self-XSS saldırılarına karşı korunmaya nasıl yardımcı olur?

Wolfgang Beyer
Wolfgang Beyer

Kendi kendine XSS saldırıları nedir?

Self-XSS veya kendi kendine siteler arası komut dosyası çalıştırma, web tarayıcınızda kötü amaçlı kod çalıştırmanız için sizi kandıran bir tür sosyal mühendislik saldırısıdır. Web uygulamalarındaki, saldırganların kötü amaçlı kod yerleştirmesine izin veren güvenlik açıklarına dayanan normal XSS saldırılarından farklı olarak, kendi kendine XSS saldırıları kendi potansiyel kod yürütme işlemlerinize dayanır.

Kendisi XSS saldırıları genellikle saldırganın sizi kandırarak kötü amaçlı kodu tarayıcınızın Geliştirici Araçları Konsoluna yapıştırarak kandırmasını içerir. Saldırgan bunu genellikle bir tür ödül vaat ederek başarır. Bu ayar şunlardan biri olabilir:

  • Kodun gizli özelliklere veya sanal ödüllere erişmenizi sağlayacağını vadeden
  • Kodun bir güvenlik testi veya hata düzeltmesi olduğunu iddia etmek.
  • Kodun, kazanç elde etmek için bir web sitesinin ele geçirilmesine izin vereceğini vadetme

Kodu çalıştırmanızın ardından saldırgan, hesabınızın kontrolünü ele geçirebilir. Bu, saldırganın şunları yapmasına olanak tanır:

  • Ad, adres ve kredi kartı numarası gibi kişisel bilgilerinizi çalmak.
  • Sizin adınıza yetkisiz iletiler veya yorumlar yayınlamak
  • Sosyal medya hesaplarınızın kontrolünü elinize alın.
  • Diğer kullanıcılara kötü amaçlı yazılım yaymak.

Chrome Geliştirici Araçları, kendi kendine XSS saldırılarını nasıl hafifletmeye çalışır?

Kullanıcıların kodu Geliştirici Araçları'na yapıştırıp çalıştırmasına izin vermek doğası gereği risklidir. Ancak bu aynı zamanda Chrome Geliştirici Araçları'nın temel özelliklerinden biridir. Bu nedenle, olası kendi kendine XSS saldırılarını azaltmak ile web sitelerindeki hataları ayıklamak isteyen geliştiricilerin çalışmalarını etkilememek arasında bir denge bulmamız gerekiyordu.

Geliştiriciler kodun ne yaptığına hızlıca bakmadan genellikle web'de bir yerde buldukları kodu kopyalamaz, Geliştirici Araçları'na yapıştırmaz ve yürütmez. Çoğu geliştirici, web'in kaba bir köşesinde bulduğu kodu yürütmenin güvenlik risklerinin farkındadır.

Chrome Geliştirici Araçları, ne yaptıklarını bilmeleri konusunda geliştiricilere güvenir. Kodu kopyalayıp yapıştırırken kullanıcıları yavaşlatmak veya herhangi bir şekilde dikkatlerini dağıtmak istemeyiz.

Geliştirici olmayanların kendine XSS saldırısının kurbanı olma riskinin çok daha yüksek olduğunu düşünüyoruz. Sizi korumak amacıyla, tehlikeli olabilecek bir şey yaptığınızda faaliyetlerinizi kesintiye uğratmanın kabul edilebilir ve faydalı olduğuna inanıyoruz. Chrome Geliştirici Araçları, deneyimsiz bir kullanıcının Geliştirici Araçları'na kod yapıştırmaya çalıştığını algılarsa işlem durur ve bir uyarı gösterilir.

Geliştirici Araçları, kendi kendine XSS uyarılarını ne zaman gösterir?

Geliştirici Araçları, kendi kendine XSS uyarılarının gösterilip gösterilmeyeceğine karar vermek için çok basit bir buluşsal yöntemden yararlanır: Bu işlem, kullanıcı profilinizin konsol geçmişini temel alır.

Profilinizin konsol geçmişinde en az 5 giriş varsa Geliştirici Araçları, uyarı veya pop-up mesajlarıyla sizi rahatsız etmez. Konsol geçmişi, Konsol'da yazdığınız ve yürüttüğünüz komutların listesidir. Bunlar, imleci Konsola yerleştirip yukarı ok tuşuna arka arkaya bastığınızda gördüğünüz komutlardır.

Kendi kendine XSS uyarıları nasıl görünür?

Deneyimsiz bir kullanıcı kodu Konsola yapıştırmayı denediğinde bu işlem engellenir ve Konsol bunun yerine bir uyarı gösterir.

Konsoldaki kendi kendine XSS uyarısı.

Bu uyarıyı geçersiz kılabilir ve yapıştırmayı etkinleştirebilirsiniz, ancak bunu yapmak için "yapıştırmaya izin ver" yazmanız gerekir.

Deneyimsiz bir kullanıcı, kodu Geliştirici Araçları kod düzenleyiciye (ör. Kaynaklar paneline) yapıştırdığında kullanıcı deneyimi çok benzerdir. Uyarı yerine kalıcı bir iletişim kutusu görüntülenir.

Kaynaklar panelindeki self-XSS kalıcı iletişim kutusu.

Tekrarlamak gerekirse, bu iletişim kutusunu kapatmak, yapıştırmayı etkinleştirmek için tek başına yeterli değildir. Uyarıyı geçersiz kılmak için giriş alanına "yapıştırmaya izin ver" yazmanız gerekir.

Bu tek seferlik bir ayar mı?

Evet, yapıştırma işlemine izin vermeye karar verdiğinizde bir daha kendi kendine XSS uyarılarıyla karşılaşmazsınız.

Bunun, kullanışlılık ile sıkıntı arasında iyi bir denge sağlayacağını umuyoruz. Kolaylık sağlayarak uyarıyı okuma olasılığınızı artırır ve böylece başarılı bir kendi kendine XSS saldırısı olasılığını azaltırız.

Chrome Geliştirici Araçları, Chrome profilinizde kendi kendine XSS uyarıları gösterip göstermeyeceğinizi belirten bir işaret tutar. Bu nedenle, yeni bir profil oluşturup kodu hemen Geliştirici Araçları'na yapıştırmaya başlarsanız yapıştırma işlemi engellenir ve bunun yerine kendi XSS uyarıları gösterilir.

Test otomasyonu için devre dışı bırakabilir misiniz?

Peki ya otomatik testler? Birçok test aracı, her test çalıştırması için yeni bir geçici profil oluşturur. Bu nedenle, otomatik testlerinizde hata ayıklamak için Geliştirici Araçları'nı kullanıyorsanız başlangıçta Konsola yapıştırma işlemi engellenir.

Bu sorunu gidermek için aşağıdakilerden birini yapın:

  • Test ve otomasyon için özel olarak tasarlanmış bir Chrome çeşidi olan Chrome for Testing'i kullanın. Self-XSS uyarıları kapatıldı.

  • Diğer Chrome sürüm kanallarında, self-xss uyarısı iletişim kutusunu tamamen devre dışı bırakmak için --unsafely-disable-devtools-self-xss-warnings komut satırı işaretini Chrome'a iletin.

Sonuç

Kendi kendine XSS saldırılarını azaltmaya yönelik bu strateji hakkında ne düşünüyorsunuz? Yorum veya önerileriniz varsa bu hataya yorum ekleyin ya da aşağıdaki yöntemlerden birini kullanarak bize ulaşın.

Özellikle kendi kendine XSS saldırıları hakkında konsol günlükleri üzerinden uyarı veren bir web sitesi üzerinde çalışıyorsanız bu konudaki çalışmalarımızı uyumlu hale getirmekten veya kendi kendine XSS'in etkisini azaltmaya yönelik önlemlerin etkisini ölçmekten memnuniyet duyarız.

Önizleme kanallarını indirme

Varsayılan geliştirme tarayıcınız olarak Chrome Canary, Dev veya Beta'yı kullanabilirsiniz. Bu önizleme kanalları en yeni Geliştirici Araçları özelliklerine erişmenizi, son teknoloji ürünü web platformu API'lerini test etmenizi ve kullanıcılarınızdan önce sitenizdeki sorunları bulmanızı sağlar.

Chrome Geliştirici Araçları ekibiyle iletişim kurma

Yayındaki yeni özellikleri ve değişiklikleri ya da Geliştirici Araçları ile ilgili diğer her şeyi tartışmak için aşağıdaki seçenekleri kullanın.

  • Öneri veya geri bildirimlerinizi crbug.com adresinden bize iletebilirsiniz.
  • Geliştirici Araçları'ndaki Diğer seçenekler   Diğer > Yardım > Geliştirici Araçları ile ilgili sorun bildir bölümüne giderek Geliştirici Araçları sorunlarını bildirin.
  • @ChromeDevTools adresinden tweet atabilirsiniz.
  • Geliştirici Araçları YouTube videoları veya Geliştirici Araçları ipuçları YouTube videolarına yorum yazın.