Self-XSS saldırıları nedir?
Self-XSS veya kendi kendine siteler arası komut dosyası çalıştırma, sizi web tarayıcınızda kötü amaçlı kod yürütmeye yönlendiren bir sosyal mühendislik saldırısıdır. Web uygulamalarındaki güvenlik açıklarından yararlanarak saldırganların kötü amaçlı kod yerleştirmesine olanak tanıyan normal XSS saldırılarının aksine, Self-XSS saldırıları kendi potansiyel kod yürütme işlemlerinize dayanır.
Kendi kendine 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ı Konsolu'na kopyalayıp yapıştırmanıza neden olur. Saldırgan genellikle bir tür ödül vaat ederek bunu başarır. Bunun nedeni aşağıdakilerden biri olabilir:
- Kodun gizli özelliklere veya sanal ödüllere erişim sağlayacağını vaat eder.
- Kodun güvenlik testi veya hata düzeltmesi olduğunu iddia etmek.
- Kodun, kazanç elde etmek için bir web sitesine bilgisayar korsanlığı yapılmasına olanak tanıdığını iddia etmek.
Saldırgan, kodu çalıştırdıktan sonra hesabınızın kontrolünü ele alabilir. Bu sayede saldırgan:
- Ad, adres ve kredi kartı numarası gibi kişisel bilgilerinizi çalabilir.
- Sizin adınıza yetkisiz mesajlar veya yorumlar yayınlama
- Sosyal medya hesaplarınızın kontrolünü ele alın.
- Kötü amaçlı yazılımları diğer kullanıcılara yayma
Chrome Geliştirici Araçları, kendi kendine XSS saldırılarını nasıl azaltmaya çalışır?
Kullanıcıların DevTools'a kod yapıştırmasına ve ardından kodu çalıştırmasına izin vermek, doğası gereği risklidir. Ancak Chrome Geliştirici Araçları'nın temel özelliklerinden biridir. Bu nedenle, olası kendi kendine XSS saldırılarını azaltma ile yalnızca web sitelerinde hata ayıklama yapmak isteyen geliştiricilerin çalışmalarına müdahale etmeme arasında bir denge bulmak zorunda kaldık.
Geliştiriciler genellikle web'de buldukları kodu kopyalayıp DevTools'a yapıştırıp çalıştırmadan önce kodun ne yaptığını hızlıca incelemezler. Çoğu geliştirici, web'in şüpheli bir köşesinde buldukları kodu çalıştırmanın güvenlik risklerinin farkındadır.
Chrome Geliştirici Araçları, geliştiricilerin ne yaptıklarını bildiklerine güvenir. Kod kopyalayıp yapıştırırken onları yavaşlatmak veya dikkatlerini dağıtmak istemiyoruz.
Geliştirici olmayan kullanıcıların, kendi kendine XSS saldırısına uğrama riskinin çok daha yüksek olduğunu düşünüyoruz. Sizi korumak için, tehlikeli olabilecek bir şey yaparken sizi kesintiye uğratmanın kabul edilebilir ve yararlı olduğuna inanıyoruz. Chrome Geliştirici Araçları, deneyimsiz bir kullanıcının DevTools'a kod yapıştırmaya çalıştığını tespit ettiğinde işlemi durdurur ve bir uyarı gösterir.
DevTools, kendi kendine XSS uyarılarını ne zaman gösterir?
DevTools, kendi kendine XSS uyarılarının gösterilip gösterilmeyeceğine karar vermek için çok basit bir sezgisel yöntem kullanır: Bu yöntem, kullanıcı profilinizin konsol geçmişine dayanır.
Profilinizin konsol geçmişinde en az 5 giriş varsa DevTools sizi uyarı veya pop-up ile rahatsız etmez. Konsol geçmişi, Konsol'da yazdığınız ve yürüttüğünüz komutların listesidir. İmleci Konsol'a yerleştirip yukarı ok tuşuna art arda bastığınızda bu komutları görürsünüz.
Kendi kendine XSS uyarıları nasıl görünür?
Tecrübesiz bir kullanıcı Konsol'a kod yapıştırmaya çalıştığında bu işlem engellenir ve Konsol bunun yerine bir uyarı gösterir.
Bu uyarıyı geçersiz kılıp yapıştırmayı etkinleştirebilirsiniz ancak bunun için "yapıştırmaya izin ver" yazmanız gerekir.
Deneyimsiz bir kullanıcı, DevTools kod düzenleyicisine (ör. Kaynaklar paneli) kod yapıştırdığında kullanıcı deneyimi çok benzerdir. Uyarı yerine modal iletişim kutusu görürsünüz.
Ayrıca, yapıştırmayı etkinleştirmek için tek başına bu iletişim kutusunu kapatmak 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ırmaya izin verdikten sonra kendi kendine XSS uyarılarıyla bir daha karşılaşmazsınız.
Bu sayede, yararlı ve can sıkıcı olabilecek unsurlar arasında iyi bir denge sağlayacağımızı umuyoruz. Zorluk ekleyerek uyarıyı okuma olasılığınızı artırırız ve bu nedenle başarılı bir kendi kendine XSS saldırısı olasılığını azaltırız.
Chrome Geliştirici Araçları, Chrome profilinizde kendinize yönelik XSS uyarılarının gösterilip gösterilmeyeceğini belirten bir işaret tutar. Bu nedenle, yeni bir profil oluşturup hemen DevTools'a kod yapıştırmaya başlarsanız yapıştırma işlemi engellenir ve bunun yerine kendi kendine XSS uyarıları gösterilir.
Test otomasyonu için devre dışı bırakabilir misiniz?
Peki otomatik testler ne olacak? Birçok test aracı, her test çalıştırması için yeni bir geçici profil oluşturur. Bu nedenle, otomatik testlerinizde hata ayıklama yapmak için Geliştirici Araçları'nı kullanıyorsanız Konsol'a yapıştırma işlemi başlangıçta engellenir.
Bu sorunu önlemek için aşağıdakilerden birini yapın:
Özellikle test ve otomasyon için tasarlanmış bir Chrome türü olan Chrome for Testing'i kullanın. Kendi kendine XSS uyarıları devre dışı bırakılır.
Diğer Chrome sürüm kanallarında, kendi kendine XSS uyarı 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 öneriniz varsa bu hataya yorum ekleyin ya da aşağıdaki yöntemlerden birini kullanarak bize ulaşın.
Özellikle de konsol günlükleri aracılığıyla kendi kendine XSS saldırıları hakkında uyarıda bulunan bir web sitesinde çalışıyorsanız çabalarımızı uyumlu hale getirme veya kendi kendine XSS azaltma önlemlerinin etkisini ölçme hakkında konuşmaktan memnuniyet duyarız.
Önizleme kanallarını indirme
Varsayılan geliştirme tarayıcınız olarak Chrome Canary, Yeni Geliştirilenler veya Beta sürümünü kullanabilirsiniz. Bu önizleme kanalları, en son DevTools özelliklerine erişmenizi sağlar, en yeni web platformu API'lerini test etmenize olanak tanır ve sitenizdeki sorunları kullanıcılarınızdan önce bulmanıza yardımcı olur.
Chrome Geliştirici Araçları Ekibi ile iletişime geçme
Yeni özellikler, güncellemeler veya Geliştirici Araçları ile ilgili başka herhangi bir konu hakkında konuşmak için aşağıdaki seçenekleri kullanın.
- crbug.com adresinden bize geri bildirim ve özellik isteği gönderin.
- Geliştirici Araçları'nda Diğer seçenekler > Yardım > Geliştirici Araçları sorunu bildir'i kullanarak bir Geliştirici Araçları sorununu bildirin.
- @ChromeDevTools hesabına tweet gönderin.
- Geliştirici Araçları'ndaki yenilikler veya Geliştirici Araçları'yla ilgili ipuçları konulu YouTube videolarına yorum bırakın.