SQL Enjeksiyonu

Yazar: Peter Berry
Yaratılış Tarihi: 13 Ağustos 2021
Güncelleme Tarihi: 22 Haziran 2024
Anonim
Web Security 101 0x01  |  SQL Injection’ı Bütünüyle Anlamak
Video: Web Security 101 0x01 | SQL Injection’ı Bütünüyle Anlamak

İçerik

Tanımı - SQL Injection ne anlama geliyor?

SQL enjeksiyonu, kötü amaçlı kodun kötü tasarlanmış bir uygulamaya gömülüp arka uç veritabanına geçirildiği bir bilgisayar saldırısıdır. Kötü niyetli veriler daha sonra veritabanı sorgusu sonuçları veya hiç çalıştırılmaması gereken eylemler oluşturur.


Microsoft Azure ve Microsoft Cloud'a Giriş | Bu kılavuz boyunca, bulut bilişimin neyle ilgili olduğunu ve Microsoft Azure'un işinizi buluttan geçirmenize ve yürütmenize nasıl yardımcı olabileceğini öğreneceksiniz.

Techopedia SQL Injection'ı açıklıyor

Bir SQL enjeksiyon saldırısı örneği görelim:

Bir bankanın işlemlerini yürüten bir uygulama, müşterinin Sosyal Güvenlik numarası gibi veri noktalarını kullanarak müşteri ayrıntılarını aramak için kullanılabilecek menüler içerir. Arka planda uygulama, girilen arama değerlerini aşağıdaki gibi ileterek veritabanında çalışan bir SQL sorgusunu çağırır:

SELECT müşteri_adı, telefon, adres, date_of_birth NEREDE social_sec_no = 23425

Bu örnek komut dosyasında, kullanıcı uygulama menüsü penceresine 23425 değerini girerek, kullanıcının Sosyal Güvenlik numarasını girmesini ister. Ardından, kullanıcı tarafından sağlanan değeri kullanarak, veritabanında bir SQL sorgusu çalıştırılır.

SQL bilgisine sahip bir kullanıcı uygulamayı anlayabilir ve Sosyal Güvenlik numarası istendiğinde tek bir değer girmek yerine, aşağıdaki şekilde veritabanına iletilen “23425 veya 1 = 1” dizesini girin:

SELECT müşteri_adı, telefon, adres, date_of_birth NEREDE social_sec_no = 23425 veya 1 = 1

NEREDE yan tümcesi, güvenlik açığını getirdiğinden önemlidir. Bir veritabanında, 1 = 1 koşulu her zaman doğrudur ve sorgu, istemcinin Social Security numarası ayrıntılarını (23425) veya WHERE 1 = 1'i döndürmek üzere belirtildiğinden, sorgu, tablodaki tüm satırları döndürecektir; Asıl Niyet.

Yukarıdaki SQL enjeksiyon saldırısı örneği basit, ancak uygulamanın bir arka uç veritabanı sorgusu veya komutu çalıştırması için kandırılması için bir güvenlik açığından yararlanmanın ne kadar iyi olduğunu gösteriyor.

SQL enjeksiyon saldırıları, özellikle veritabanı sorgularını veya komutlarını çalıştırmak için kullanıcı girişi gerektiren modüllerde, uygun uygulama tasarımı sağlanarak hafifletilebilir. Yukarıdaki örnekte, uygulama yalnızca bir sayısal değeri kabul edecek şekilde değiştirilebilir.