! Derse başlamadan önce hatırlatmam gereken, normalde gerçek site üzerinden gösterecektim fakat gövde konularına açacağım için,
Kendi laboratuar ortamımı kurdum ve sizlere güzel bir konu anlatmak istedim. !
Hepinize selamlar!
ben turkhackteam.org ben,
@u1ku1912
Bugün sizlere teorik ve pratik olmak üzere web pentest dersinin onuncu bölümünü anlatıyor olacağım,
hazırsanız başlayalım.
UNION Based SQL Injection Nedir?
UNION Based SQL Injection, SQL Injection türleri arasında özellikle veri sızdırmak için kullanılan etkili bir yöntemdir. Bu teknik, SQL sorgularının UNION operatörü kullanılarak birleştirilmesi esasına dayanır. UNION operatörü, iki veya daha fazla SQL sorgusunun sonuçlarını tek bir sorgu sonucu olarak birleştirmek için kullanılır.
Saldırının başarılı olabilmesi için orijinal sorgu ve eklenen sorgunun sonuçları aynı sayıda sütun içermeli ve bu sütunların veri tipleri uyumlu olmalıdır.
Arkadaşlar şimdi sizler için kurduğum lab. ortamına geçelim.
SQL İnj. olarak düşündüğümüz domaine gidelim.
Arkadaşlar şimdi keşif yapalım ' koyarak veritabanının hata verip vermediğini yani Error-Based var mı görelim
Arkadaşlar UNION kullanabilmemiz için orijinal sorguda ki kolon sayısı ile bizim ekleyeceğimiz kolon sayısı aynı olmalıdır
1 ORDER BY 2-- - yazdığımız da hata yoksa 2 kolon var demektir.
Şimdi exploitation aşamasına geçiyorum. Veritabanı bilgilerini çekmem lazım. Öncelikle hangi veritabanın da olduğumu ve hangi kolonları bana göstereceğini bilmem lazım
test_db'yi gösterdi şimdi bunun içerisindeki tabloları görmem lazım. Users dışında neler var onun için ekrana şu şekilde bir payload yazıyorum.
1 UNION SELECT 1, table_name FROM information_schema.tables WHERE table_schema='test_db'-- -
Arkadaşlar secret_table bulduk.
Bunun içerisinde hangi sütunlar var onları öğrenmem lazım genelde pas. , secret gibi isimlerle saklanır.
Yine aynı payloadı kullanıyorum fakat isim farklı yaparak.
1 UNION SELECT 1, column_name FROM information_schema.columns WHERE table_name='secret_table'-- -
Arkadaşlar özetlemem gerekirse
ORDER BY 2 ile 2 kolon olduğunu,
database() ile hedef veritabanını test_db olduğunu,
information_schema.tables kullanarak users ve secret_table adında 2 tablo olduğunu öğrendim
Şimdi exploit ve hacked kısmı
Secret_table içindeki verileri çekebilmek için şu şekilde payload kullanıyorum,
1 UNION SELECT 1, password FROM secret_table-- -
Arkadaşlar bugün ki anlatacağım konu bu kadardı bir başka web pentest konusunda görüşmek üzere esen kalın!
Kendi laboratuar ortamımı kurdum ve sizlere güzel bir konu anlatmak istedim. !
Hepinize selamlar!
ben turkhackteam.org ben,
@u1ku1912
Bugün sizlere teorik ve pratik olmak üzere web pentest dersinin onuncu bölümünü anlatıyor olacağım,
hazırsanız başlayalım.
UNION Based SQL Injection Nedir?
UNION Based SQL Injection, SQL Injection türleri arasında özellikle veri sızdırmak için kullanılan etkili bir yöntemdir. Bu teknik, SQL sorgularının UNION operatörü kullanılarak birleştirilmesi esasına dayanır. UNION operatörü, iki veya daha fazla SQL sorgusunun sonuçlarını tek bir sorgu sonucu olarak birleştirmek için kullanılır.
Saldırının başarılı olabilmesi için orijinal sorgu ve eklenen sorgunun sonuçları aynı sayıda sütun içermeli ve bu sütunların veri tipleri uyumlu olmalıdır.
Arkadaşlar şimdi sizler için kurduğum lab. ortamına geçelim.
SQL İnj. olarak düşündüğümüz domaine gidelim.
Arkadaşlar şimdi keşif yapalım ' koyarak veritabanının hata verip vermediğini yani Error-Based var mı görelim
Arkadaşlar UNION kullanabilmemiz için orijinal sorguda ki kolon sayısı ile bizim ekleyeceğimiz kolon sayısı aynı olmalıdır
1 ORDER BY 2-- - yazdığımız da hata yoksa 2 kolon var demektir.
Şimdi exploitation aşamasına geçiyorum. Veritabanı bilgilerini çekmem lazım. Öncelikle hangi veritabanın da olduğumu ve hangi kolonları bana göstereceğini bilmem lazım
test_db'yi gösterdi şimdi bunun içerisindeki tabloları görmem lazım. Users dışında neler var onun için ekrana şu şekilde bir payload yazıyorum.
1 UNION SELECT 1, table_name FROM information_schema.tables WHERE table_schema='test_db'-- -
Arkadaşlar secret_table bulduk.
Bunun içerisinde hangi sütunlar var onları öğrenmem lazım genelde pas. , secret gibi isimlerle saklanır.
Yine aynı payloadı kullanıyorum fakat isim farklı yaparak.
1 UNION SELECT 1, column_name FROM information_schema.columns WHERE table_name='secret_table'-- -
Arkadaşlar özetlemem gerekirse
ORDER BY 2 ile 2 kolon olduğunu,
database() ile hedef veritabanını test_db olduğunu,
information_schema.tables kullanarak users ve secret_table adında 2 tablo olduğunu öğrendim
Şimdi exploit ve hacked kısmı
Secret_table içindeki verileri çekebilmek için şu şekilde payload kullanıyorum,
1 UNION SELECT 1, password FROM secret_table-- -
Arkadaşlar bugün ki anlatacağım konu bu kadardı bir başka web pentest konusunda görüşmek üzere esen kalın!




