XSS ve SQL Injection arasındaki temel fark, XSS'nin (veya Siteler Arası Komut Dosyası Çalıştırma), web sitesine kötü amaçlı kod enjekte eden bir tür bilgisayar güvenlik açığı olmasıdır. SQL enjeksiyonu, kaynaklara erişmek veya verilerde değişiklik yapmak için bir web formu giriş kutusuna SQL kodu ekleyen başka bir web sitesi hackleme mekanizmasıdır.
Her kuruluş, işi ve karlılığı iyileştirmeye yardımcı olan web sitelerine sahiptir. Bir web uygulaması, istemci tarafı ve sunucu tarafını içerir. İstemci tarafı, uygulama ile etkileşim kurmak için kullanıcı arayüzlerini içerir. Sunucu tarafı veritabanını içerir. Genellikle, uygulamanın düzgün çalışmasını etkileyen tehditler vardır. Bunlardan ikisi XSS ve SQL enjeksiyonudur.
XSS nedir?
XSS, Siteler Arası Komut Dosyası Çalıştırma anlamına gelir ve en yaygın web sitesi saldırılarından biridir. Söz konusu web sitesini ve o web sitesinin kullanıcılarını etkileyebilir. XSS saldırısı için kötü amaçlı kod yazmak için en yaygın dil JavaScript'tir. XSS, kullanıcının çerezlerini çalabilir, kullanıcı ayarını değiştirebilir, çeşitli kötü amaçlı yazılım indirmelerini görüntüleyebilir ve çok daha fazlasını yapabilir.
Şekil 01: XSS
İki tür XSS vardır. Kalıcı ve kalıcı olmayan XSS'lerdir. Kalıcı XSS'de kötü amaçlı kod, veritabanındaki sunucuya kaydedilir. Ardından normal sayfada çalışacaktır. Kalıcı olmayan XSS'de, enjekte edilen kötü amaçlı kod, bir HTTP isteği aracılığıyla Sunucuya gönderilir. Genellikle bu saldırılar arama alanlarında gerçekleşebilir.
SQL Enjeksiyonu Nedir?
SQL Enjeksiyonu, başka bir web sitesi hackleme mekanizmasıdır. Web sayfası girişi yoluyla SQL ifadelerine kötü amaçlı bir kod yerleştirir. Bir web sitesi, kullanıcı girdilerini toplamak için formlar içerir. Kullanıcıdan kullanıcı adı, kullanıcı kimliği gibi girdiler istendiğinde, ad ve bunun yerine bir SQL ifadesi sağlayabilir. Böylece web sitesi veritabanında çalışabilir.
Şekil 02: SQL Enjeksiyonu
Ayrıca, SQL Enjeksiyonlarının birkaç örneği aşağıdaki gibidir;
Kullanıcı kimliği aracılığıyla bir kullanıcıyı aramak için bir durum olabilir. Giriş doğrulama yöntemi yoksa, kullanıcı yanlış bir giriş girebilir. Kullanıcı kimliğini 100 VEYA 1=1 olarak girerse aşağıdaki gibi bir SQL ifadesi üretecektir.
selectuserid=100 veya 1=1 olan kullanıcılardan;
Bu SQL ifadesi veritabanındaki tüm kullanıcıları döndürebilir çünkü 1=1 her zaman doğrudur. Bu bir bilgisayar korsanıysa ve veritabanı şifreler gibi gizli veriler içeriyorsa, kullanıcı adlarına ve şifrelere erişebilir. Bu, SQL Injection için bir örnektir.
XSS ve SQL Enjeksiyonu Arasındaki Fark Nedir?
XSS, web uygulamalarında saldırganların diğer kullanıcılar tarafından görüntülenen web sayfalarına istemci tarafı komut dosyaları eklemesine olanak tanıyan bir tür bilgisayar güvenlik açığıdır. SQL enjeksiyonu, yürütülmek üzere dosyalanan bir girişe SQL deyimleri ekleyen veri odaklı uygulamalara saldıran bir kod enjeksiyon tekniğidir.
XSS, web sitesine kötü amaçlı kod enjekte eder, böylece kod o web sitesinin kullanıcılarında tarayıcı tarafından çalışır. Öte yandan, SQL enjeksiyonu, kaynaklara erişmek veya verilerde değişiklik yapmak için bir web formu giriş kutusuna SQL kodu ekler. Bu, XSS ve SQL Enjeksiyonu arasındaki temel farktır. SQL enjeksiyonu SQL kullanırken XSS için en yaygın dil JavaScript'tir.
Özet – XSS ve SQL Injection
XSS ve SQL Enjeksiyonu arasındaki fark, XSS'nin web sitesine kötü amaçlı kod enjekte etmesidir, böylece kod o web sitesinin kullanıcılarında tarayıcı tarafından yürütülürken SQL enjeksiyonu bir web formu giriş kutusuna SQL kodu ekler. kaynaklara erişim kazanın veya verilerde değişiklik yapın.