Bizden istenen SQL enjekte ederek UNION saldırısı yapmamız ve sütun sayısını öğrenmemiz.
Not: Burp Suite kullanımı bir önceki konumda az çok anlatıyorum eğer hiç bir bilginiz yoksa en azından bu konuyu okumak için yeterli bilgiye sahip olursunuz.
Öncelikle UNION saldırısı nedir:
SQL UNION saldırısı, bir web uygulamasına yapılan bir tür SQL enjeksiyonudur.
Bu saldırı, bir kötü niyetli kullanıcının bir web formuna girdiği özel olarak hazırlanmış SQL ifadeleri kullanılarak gerçekleştirilir.
Saldırı, uygulamanın veritabanında bulunan birden fazla tablodan veri almasına izin veren SQL UNION operatörünü kullanır.
Bir SQL UNION saldırısı, uygulamanın web formundaki bir girdi alanına, önceden hazırlanmış bir SQL ifadesi ekleyerek gerçekleştirilir.
Bu SQL ifadesi, uygulamanın veritabanına gönderilir ve uygulama sonucu ekrana yazdırır.
Eğer saldırganın hazırladığı SQL ifadesi uygun bir şekilde yapılandırılmışsa, sonuçlar birden fazla tablodan toplanarak döndürülebilir.
Bu tür bir saldırı, saldırganın veritabanındaki tüm tablolara erişim sağlayabilmesine, hatta veritabanındaki tüm verileri görüntüleyebilmesine olanak tanır.
--------------------------------------------------------------------------------|
Tablolar ve Sütunları daha iyi anlamak için(Rana Khalil): |
|
-------------------------------------------------------------------------------- |
UNION saldırısında sütun sayısını öğrenmek için
' UNION SELECT NULL--
Böyle bir istek yoluyoruz eğer bize döndürdüğü değer bir hata ise NULL sayısını artırıp tekrar deniyoruz:
' UNION SELECT NULL,NULL--
Null sayısı sütun sayısıyla eşleşmezse, veritabanı şöyle bir hata döndürür:
All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists(veya baska bir hata)
Çözüme geçicek olursak öncellikle SQL enjekte edebileceğimiz bir yer arıyoruz.(Bir tablodan veri alıcağımız için tablodan veri gönderen bir komut satırı)
Açığı bulduğumuz zaman basitce UNION saldırımızı uyguluyoruz.
Eğer geri dönüş olarak bir hata ile karşı karşıya kalırsak tek yapmamız gereken NULL sayısını artırmak (Görseldeki gibi)
Geri döndürülen ifadede bir hata yok, demek ki sütun sayısı 3.
Okuduğunuz için teşekkürler dostlar, görsel kaliteyi artırmak için elimden geleni yaptım ama pek beceremedim
Not: Burp Suite kullanımı bir önceki konumda az çok anlatıyorum eğer hiç bir bilginiz yoksa en azından bu konuyu okumak için yeterli bilgiye sahip olursunuz.
Öncelikle UNION saldırısı nedir:
SQL UNION saldırısı, bir web uygulamasına yapılan bir tür SQL enjeksiyonudur.
Bu saldırı, bir kötü niyetli kullanıcının bir web formuna girdiği özel olarak hazırlanmış SQL ifadeleri kullanılarak gerçekleştirilir.
Saldırı, uygulamanın veritabanında bulunan birden fazla tablodan veri almasına izin veren SQL UNION operatörünü kullanır.
Bir SQL UNION saldırısı, uygulamanın web formundaki bir girdi alanına, önceden hazırlanmış bir SQL ifadesi ekleyerek gerçekleştirilir.
Bu SQL ifadesi, uygulamanın veritabanına gönderilir ve uygulama sonucu ekrana yazdırır.
Eğer saldırganın hazırladığı SQL ifadesi uygun bir şekilde yapılandırılmışsa, sonuçlar birden fazla tablodan toplanarak döndürülebilir.
Bu tür bir saldırı, saldırganın veritabanındaki tüm tablolara erişim sağlayabilmesine, hatta veritabanındaki tüm verileri görüntüleyebilmesine olanak tanır.
--------------------------------------------------------------------------------|
Tablolar ve Sütunları daha iyi anlamak için(Rana Khalil): |
-------------------------------------------------------------------------------- |
UNION saldırısında sütun sayısını öğrenmek için
' UNION SELECT NULL--
Böyle bir istek yoluyoruz eğer bize döndürdüğü değer bir hata ise NULL sayısını artırıp tekrar deniyoruz:
' UNION SELECT NULL,NULL--
Null sayısı sütun sayısıyla eşleşmezse, veritabanı şöyle bir hata döndürür:
All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists(veya baska bir hata)
Çözüme geçicek olursak öncellikle SQL enjekte edebileceğimiz bir yer arıyoruz.(Bir tablodan veri alıcağımız için tablodan veri gönderen bir komut satırı)
Açığı bulduğumuz zaman basitce UNION saldırımızı uyguluyoruz.
Eğer geri dönüş olarak bir hata ile karşı karşıya kalırsak tek yapmamız gereken NULL sayısını artırmak (Görseldeki gibi)
Geri döndürülen ifadede bir hata yok, demek ki sütun sayısı 3.
Okuduğunuz için teşekkürler dostlar, görsel kaliteyi artırmak için elimden geleni yaptım ama pek beceremedim