"LAB - Retrieving hidden data" Nasıl çözülür
Bizden istenen sunucunun içindeki gizli kategorileri ve gösterime sunulmamış ürünleri SQL injection ile görüntülememiz isteniyor.
Öncellikle Intercept işleminin ne olduğunu bilmemiz lazım.
(Efsane bir ressamım)
Görsele deki gibi sunucuya gönderdiğimiz Request'i durdurup değiştirmemize ve incelememize olanak sağlıyor.
Önce Burp Suite'den Intercept bölümünü aktive ediyoruz ardından sitedeki rastgele bir kategoriye tıklayıp servera gönderdiğimiz isteği inceliyoruz.
Raw bölümünde kategorinin neye takabül ettiğini bulup, SQL enjeksiyonunu uyguluyoruz ' +OR+1=1--
Sunucuya gönderdiğimiz değiştirilmiş istek; 1 eşittir 1 olduğu tüm durumları döndürecektir.
1=1 her zaman true olduğundan, sorgu tüm öğeleri döndürücektir
Bu da tüm öğelere ulaşmamızı sağlar.
LAB - Subverting application logic
SQL enjekte ederek "Administrator" olarak oturum açmamız isteniyor
Bu kısım oldukça basit, ister login sayfasından sunucuya username parametresi olarak administrator'-- gönderin veya Intercept yaparak
username parametresine '-- ekleyin.
Bu işlem parola denetimini, password protokolunu ortadan kaldırmamızı şağlar.
Burada öğrendiğimiz her zaman şifreyi bulmamız gerekmediğidir.
LAB - SQL injection with filter bypass via XML encoding
Bu sefer bizden istenen tüm kullanıcıların kullanıcı adını ve sifresini bulmamızdır.
Öncellikle sunucuya request, SQL enjeksiyonu gönderebileceğimiz (Bize bilgi döndürebileceği) bir açık arıyoruz.
Ardından sunucuya SQL enjekte ediyoruz,
"1 UNION SELECT username || '~' || password FROM users"
esponse olarak "Attack Detected" aldığımıza göre server XML tarafından saklanıyor.(Bunu bir diğer anlama yolu orada koskocaman XML yazması)
XML koruması, web uygulamalarındaki SQL enjeksiyonu saldırılarını önlemek için kullanılan bir güvenlik yöntemidir.
Bu yöntem, kullanıcı tarafından girilen verileri filtreleyerek, kötü amaçlı SQL kodlarının uygulamaya zarar vermesini engeller.
XML koruması, kullanıcının girdiği verileri önce XML kodlama yöntemiyle kodlar. Bu kodlama işlemi,
özel karakterleri ve belirli sembolleri XML öğelerine dönüştürerek verileri güvenli hale getirir.
Ardından, kodlanmış veriler SQL sorgusuna dahil edilir.
Örneğin, bir kullanıcının arama kutusuna "'; DROP TABLE users;--" gibi kötü amaçlı bir kod girmesi durumunda,
XML koruması bu kodu önce XML öğelerine dönüştürür. Sonuç olarak, SQL sorgusu şöyle olur:
SELECT * FROM products WHERE name LIKE '%'; DROP TABLE users;'--%'
Bu sorgu, veritabanında "name" alanında kullanıcının aradığı öğeleri arar, ancak kötü amaçlı kodu çalıştırmaz.
XML koruması, SQL enjeksiyonu saldırılarını engellemek için kullanılan etkili bir yöntemdir.
Ancak, bu yöntem tek başına yeterli değildir.
XML Koruması nasıl atlatılır:
Bunun için HackVertor kullanarak SQL enjeksiyonunu sunucunun anlayabileceği ve XML korumasının izin verebileceği şekilde sunucuya istekte bulunuyoruz.
Okuduğunuz için teşekkürler dostlarım. Eğer bir hatam varsa veya anlatamadığım bir kısım varsa affınıza sığınırım.
Bizden istenen sunucunun içindeki gizli kategorileri ve gösterime sunulmamış ürünleri SQL injection ile görüntülememiz isteniyor.
Öncellikle Intercept işleminin ne olduğunu bilmemiz lazım.
(Efsane bir ressamım)
Görsele deki gibi sunucuya gönderdiğimiz Request'i durdurup değiştirmemize ve incelememize olanak sağlıyor.
Önce Burp Suite'den Intercept bölümünü aktive ediyoruz ardından sitedeki rastgele bir kategoriye tıklayıp servera gönderdiğimiz isteği inceliyoruz.
Raw bölümünde kategorinin neye takabül ettiğini bulup, SQL enjeksiyonunu uyguluyoruz ' +OR+1=1--
Sunucuya gönderdiğimiz değiştirilmiş istek; 1 eşittir 1 olduğu tüm durumları döndürecektir.
1=1 her zaman true olduğundan, sorgu tüm öğeleri döndürücektir
Bu da tüm öğelere ulaşmamızı sağlar.
LAB - Subverting application logic
SQL enjekte ederek "Administrator" olarak oturum açmamız isteniyor
Bu kısım oldukça basit, ister login sayfasından sunucuya username parametresi olarak administrator'-- gönderin veya Intercept yaparak
username parametresine '-- ekleyin.
Bu işlem parola denetimini, password protokolunu ortadan kaldırmamızı şağlar.
Burada öğrendiğimiz her zaman şifreyi bulmamız gerekmediğidir.
LAB - SQL injection with filter bypass via XML encoding
Bu sefer bizden istenen tüm kullanıcıların kullanıcı adını ve sifresini bulmamızdır.
Öncellikle sunucuya request, SQL enjeksiyonu gönderebileceğimiz (Bize bilgi döndürebileceği) bir açık arıyoruz.
Ardından sunucuya SQL enjekte ediyoruz,
"1 UNION SELECT username || '~' || password FROM users"
esponse olarak "Attack Detected" aldığımıza göre server XML tarafından saklanıyor.(Bunu bir diğer anlama yolu orada koskocaman XML yazması)
XML koruması, web uygulamalarındaki SQL enjeksiyonu saldırılarını önlemek için kullanılan bir güvenlik yöntemidir.
Bu yöntem, kullanıcı tarafından girilen verileri filtreleyerek, kötü amaçlı SQL kodlarının uygulamaya zarar vermesini engeller.
XML koruması, kullanıcının girdiği verileri önce XML kodlama yöntemiyle kodlar. Bu kodlama işlemi,
özel karakterleri ve belirli sembolleri XML öğelerine dönüştürerek verileri güvenli hale getirir.
Ardından, kodlanmış veriler SQL sorgusuna dahil edilir.
Örneğin, bir kullanıcının arama kutusuna "'; DROP TABLE users;--" gibi kötü amaçlı bir kod girmesi durumunda,
XML koruması bu kodu önce XML öğelerine dönüştürür. Sonuç olarak, SQL sorgusu şöyle olur:
SELECT * FROM products WHERE name LIKE '%'; DROP TABLE users;'--%'
Bu sorgu, veritabanında "name" alanında kullanıcının aradığı öğeleri arar, ancak kötü amaçlı kodu çalıştırmaz.
XML koruması, SQL enjeksiyonu saldırılarını engellemek için kullanılan etkili bir yöntemdir.
Ancak, bu yöntem tek başına yeterli değildir.
XML Koruması nasıl atlatılır:
Bunun için HackVertor kullanarak SQL enjeksiyonunu sunucunun anlayabileceği ve XML korumasının izin verebileceği şekilde sunucuya istekte bulunuyoruz.
Okuduğunuz için teşekkürler dostlarım. Eğer bir hatam varsa veya anlatamadığım bir kısım varsa affınıza sığınırım.
Son düzenleme: