Siteler arası komut dosyası çalıştırma: XSS enjeksiyonu - Hack | HackTurkiye.Com
Forumlar » Security » Web Güvenlik Dökümanları » Siteler arası komut dosyası çalıştırma: XSS enjeksiyonu
Siteler arası komut dosyası çalıştırma: XSS enjeksiyonu
#1011 2019-09-22 22:37 GMT
SQL Injection ve NoSQL Injection hakkındaki mesajlardan sonra bugün size XSS Injection'ı getiriyorum. Bu saldırı kötü amaçlı kodları iyi huylu web sayfalarına enjekte etmekten ibarettir. Saldırgan müşteri tarafından kod ekler, böylece web sitesinin kötü yapılandırılması için bu kod diğer kullanıcılara gösterilir.
Bu saldırı türü, genellikle tarayıcı daha önce doğrulamadan bir çıkış alanı oluşturmak için bir kullanıcı giriş alanı kullandığında ortaya çıkar.
Siteler Arası Komut Dosyası ekleme enjeksiyonu elde etmek için, girdiğiniz bir değerin yansıtıldığı bir web sayfasının alanlarını bulmaya çalışmanız gerekir. Bir örnek, kayıt defterinde bir kullanıcı adı girmeniz gereken bir web sayfası bulmaktır, örneğin “Lethani” ve bir hoş geldiniz iletisinde oturum açarken “Merhaba, Lethani” yazan bir mesaj görünür.
Söz konusu sayfanın kaynak koduna bakarsak, şöyle bir html kodu görürüz:
Kavramın kanıtını göstermek için, bu güvenlik açığını kendiniz test edebilmeniz için tavsiye ettiğim xss-game.appspot.com sayfasını kullandım:
Ancak, bir sayfanın bir kullanıcı girişini yansıttığı için, bunun XSS'ye karşı savunmasız olduğu anlamına gelmez. Bu güvenlik açığından kaçınmak için, geliştiricinin, kendisi için oluşturulan işlevleri kullanarak tüm girişleri doğrulaması yeterlidir, böylece girdiğiniz değer ne olursa olsun, bir değişken olarak ve hiçbir zaman kaynak kodu değiştirebilecek bir kod olarak kabul edilmemelidir.
Bu enjeksiyon tipinin iki versiyonu vardır: XSS Reflected ve XSS Kalıcı. Enjeksiyon yansıtıldığında, kötü amaçlı kod veritabanına kaydedilmez, yalnızca istemciye yansıtılır. Bu nedenle, bir kullanıcının gösterilmesi için, kendisine kendisi girmiş olması gerekir. Bununla birlikte, kalıcı bir XSS enjeksiyonu söz konusu olduğunda, girilen yük, veritabanına kaydedilir ve enjekte edilen değere erişen herhangi bir kullanıcı gösterilir. Bu nedenle, bir XSS Kalıcı güvenlik açığı Yansıyandan çok daha ciddidir.
Biri bu saldırının bizim için ne faydası olabileceğini merak edebilir. Bir kullanıcının bir pop-up tarafından şaşırmasının ötesinde, bir XSS enjeksiyonumuz varsa yapabileceğimiz çok ilginç şeyler var.
Bu şekilde, web siteme oturum çerezini gönderirdim. Alacaktım ve senin adına alışveriş yapabilirim.
— Bir Dosya İndirmeye Zorla: Bir kullanıcının XSS Enjeksiyonuna karşı savunmasız bir bağlantıyı ziyaret ederek kötü amaçlı bir dosya indirmesini sağlamak mümkündür. Örneğin, aşağıdaki yük ile yapabiliriz:
— Kullanıcıyı Yönlendirme: Kullanıcıyı başka bir web sayfasına göndermek için de kullanabiliriz. Kullanıcı, saldırgan tarafından kontrol edilen bir sayfaya yönlendirilebilir, böylece asıl sayfada olduğuna inandığı için kimlik bilgilerini girer:
Bunlara ek olarak, bu bağlantıda keylogger'ları etkinleştirmek, web kamerası aracılığıyla fotoğraf ve video çekmek vb. İçin birçok komut dosyası bulabilirsiniz.
Bunlara ek olarak, OWASP sayfasındaki filtreleri önlemek için XSS enjeksiyonlarını engellemenin başka yollarını da bulabilirsiniz.
Bu diğer web sayfasında, filtrelerden kaçınmak için karakterlerin kodlandığı birçok “XSS Polyglot” gösterimi bulabilirsiniz.
Sonraki yazılarda Blind XSS veya Dom Based XSS gibi bazı gelişmiş XSS durumlarını göstereceğim.
Bu mesaj MrX tarafından 2019-09-25 00:09 GMT, 80 Gün önce düzenlendi.