Takip Edin: https://app.letsdefend.io/training/lesson_detail/detecting-sql-injection-attacks-web-attacks-101
Bize web sunucusu erişim günlükleri sağlandı ve bunları kullanarak aşağıdaki soruları yanıtlamamız gerekiyor.
Soru 1: SQL Enjeksiyon Saldırısının sömürme aşaması ne zaman başladı?
Aşağı kaydırarak, aşağıdaki günlüklerde SQL ile ilgili kodu görüyoruz. Şimdi, saldırgan tarafından yapılan ilk girişim olan başlangıç aşamasını bulmamız gerekiyor.
Dikkatlice bakarsak, “%27”'yi görüyoruz, bu da “‘“ (kesme işareti)nin URL kodlamasıdır. SQL'de bir dizeyi (örneğin, ‘John’) başlangıç ve sonunu belirtmek için ‘‘ kullanılır. Bu günlük girişi herhangi bir SQL enjeksiyon yükü içermiyor, ancak kesme işareti kullanılarak bir deneme içeriyor.
Bu denemenin 01/Mar/2022 tarihinde 08:35:14'te yapıldığını görebiliriz. Günlük girişi 147'de görülebilir:
Bize web sunucusu erişim günlükleri sağlandı ve bunları kullanarak aşağıdaki soruları yanıtlamamız gerekiyor.
Soru 1: SQL Enjeksiyon Saldırısının sömürme aşaması ne zaman başladı?
Aşağı kaydırarak, aşağıdaki günlüklerde SQL ile ilgili kodu görüyoruz. Şimdi, saldırgan tarafından yapılan ilk girişim olan başlangıç aşamasını bulmamız gerekiyor.
Dikkatlice bakarsak, “%27”'yi görüyoruz, bu da “‘“ (kesme işareti)nin URL kodlamasıdır. SQL'de bir dizeyi (örneğin, ‘John’) başlangıç ve sonunu belirtmek için ‘‘ kullanılır. Bu günlük girişi herhangi bir SQL enjeksiyon yükü içermiyor, ancak kesme işareti kullanılarak bir deneme içeriyor.
Bu denemenin 01/Mar/2022 tarihinde 08:35:14'te yapıldığını görebiliriz. Günlük girişi 147'de görülebilir:
Soru 2: SQL Enjeksiyon saldırısını gerçekleştiren saldırganın IP adresi nedir?
Günlük girişinin başında görülen IP, isteği yapan istemcinin IP'sidir. Dolayısıyla IP "192.168." şeklindedir.
Günlük girişinin başında görülen IP, isteği yapan istemcinin IP'sidir. Dolayısıyla IP "192.168." şeklindedir.
Soru 3: SQL Enjeksiyon saldırısı başarılı oldu mu? (Yanıt Formatı: E/H)
Günlüklere baktığımızda, sunucunun 200 durum kodu ile yanıt verdiğini görüyoruz, bu da isteğin başarılı olduğunu gösterir. Ayrıca, sunucunun geri döndürdüğü URL'yi görebiliriz, bu da saldırgan tarafından gönderilen yükü içerir. Dolayısıyla evet, saldırı başarılı oldu.
Günlüklere baktığımızda, sunucunun 200 durum kodu ile yanıt verdiğini görüyoruz, bu da isteğin başarılı olduğunu gösterir. Ayrıca, sunucunun geri döndürdüğü URL'yi görebiliriz, bu da saldırgan tarafından gönderilen yükü içerir. Dolayısıyla evet, saldırı başarılı oldu.
Soru 4: SQL Enjeksiyon saldırısının türü nedir? (Klasik, Körlük, Out-of-band)
SQL Enjeksiyon Türleri:
İn-band SQLi (Klasik SQLi): Bir SQL sorgusu gönderilip aynı kanaldan yanıt alınırsa, bunlara İn-band SQLi denir. Diğer SQLi kategorilerine göre bunları kullanmak saldırganlar için daha kolaydır.
Çıkarımsal SQLi (Körlük SQLi): Görülemeyen bir yanıt alan SQL sorguları Çıkarımsal SQLi olarak adlandırılır. Yanıt görülemeyeceği için Bunlar Körlük SQLi olarak adlandırılır.
Out-of-band SQLi: Bir SQL sorgusuna verilen yanıt farklı bir kanal üzerinden iletiliyorsa, bu tür SQLi'ye Out-of-band SQLi denir. Örneğin, saldırganın DNS üzerinden SQL sorgularına yanıt aldığı durumlar out-of-band SQLi olarak adlandırılır.
Bu, Klasik bir SQL Enjeksiyon Saldırısıdır. İstek ve yanıtın aynı kanal üzerinden olduğunu görebiliyoruz. Buradaki "kanal", istemcinin sunucu ile iletişim kurduğu URL'dir.
SQL Enjeksiyon Türleri:
İn-band SQLi (Klasik SQLi): Bir SQL sorgusu gönderilip aynı kanaldan yanıt alınırsa, bunlara İn-band SQLi denir. Diğer SQLi kategorilerine göre bunları kullanmak saldırganlar için daha kolaydır.
Çıkarımsal SQLi (Körlük SQLi): Görülemeyen bir yanıt alan SQL sorguları Çıkarımsal SQLi olarak adlandırılır. Yanıt görülemeyeceği için Bunlar Körlük SQLi olarak adlandırılır.
Out-of-band SQLi: Bir SQL sorgusuna verilen yanıt farklı bir kanal üzerinden iletiliyorsa, bu tür SQLi'ye Out-of-band SQLi denir. Örneğin, saldırganın DNS üzerinden SQL sorgularına yanıt aldığı durumlar out-of-band SQLi olarak adlandırılır.
Bu, Klasik bir SQL Enjeksiyon Saldırısıdır. İstek ve yanıtın aynı kanal üzerinden olduğunu görebiliyoruz. Buradaki "kanal", istemcinin sunucu ile iletişim kurduğu URL'dir.


