Portswigger SQLi UNION Attack lablarının çözümleri

Sephion

Üye
24 Nis 2023
117
44
Merhabalar!
Ben Sephion, yine bir lab çözümüyle geri döndüm!
Bu sefer sadece SQL injection UNION saldırısından bahsedeceğim.
Eğer yazdıklarımda hatam varsa ya da herhangi bir öneriniz varsa bana iletirseniz çok sevinirim.

İyi okumalar!


UNION saldırısı nedir?
UNION ve SELECT anahtar kelimelerini kullanarak veri tabanında bulunan verileri almak ya da birleştirmek için kullanılan bir saldırı türüdür.Bu şekilde normalde erişilemeyen şifreler gibi bilgilere erişilebilir.

1 )Lab: SQL injection UNION attack, finding a column containing text

Öncelikle yine " 'UNION SELECT NULL,NULL-- " yazarak SQL sorgusundaki sütun sayısını öğrenmeliyiz.



3'ten fazla "NULL" yazınca hata verdiğine göre sütun sayımız 3'müş.

Öncelikle hangi sütunda metin değerlerinin bulunduğunu görmek için deneme yapmamız lazım.
Doğru sütunu bulana kadar tüm sütunlara örnek bir metin değeri girerek denemeye başlayabiliriz.





Aradığımız sütunu bulduk,şimdi bizden istenen metin değerini bu sütunda aramamız gerekiyor.



Bu şekilde SQL sorgusunda bulunan istediğimiz verilere ulaşabiliriz.

2 )Lab: SQL injection UNION attack, retrieving data from other tables

Şimdi veritabanındaki başka tablolardan veri çekeceğiz.
Daha önceki gibi "NULL,NULL..." yazarak sütun sayısını bulmamız gerekiyor.
Gereksiz yere uzatmamak için tekrardan nasıl yapıldığını göstermeyeceğim ama daha önce yaptığımız şekilde elimizdeki sorguda 2 sütunun olduğunu öğrendik.

Kullanıcı - şifre bilgilerini almak için elimizdeki sütunları kullanmamız gerekiyor.
'+UNION+SELECT+username,+password+FROM+users-- yazarak bu verilerin olduğu tabloya ulaşabiliriz.



Bulduğumuz tablodan istediğimiz kullanıcının şifresini alıp hesabına giriş yapabiliriz.



3 ) Lab: SQL injection UNION attack, retrieving multiple values in a single column

Bu sefer iki farklı sütundan elde ettiğimiz şifre ve kullanıcı adı bilgilerini tek bir sütundan elde edeceğiz.

Sütun sayısını belirledikten sonra aradığımız metin değerlerinin hangi sütunda olduğunu bulmak için arama yapacağız.





Aradığımız veriler 2. sütundaymış.
2.sütuna '+UNION+SELECT+NULL,username||'~'||password+FROM+users-- yazarak aradığımız verilere erişebiliriz.





 
Son düzenleme:

kelvinxry

Katılımcı Üye
23 Ara 2022
366
104
Merhabalar!
Ben Sephion, yine bir lab çözümüyle geri döndüm!
Bu sefer sadece SQL injection UNION saldırısından bahsedeceğim.
Eğer yazdıklarımda hatam varsa ya da herhangi bir öneriniz varsa bana iletirseniz çok sevinirim.

İyi okumalar!


UNION saldırısı nedir?
UNION ve SELECT anahtar kelimelerini kullanarak veri tabanında bulunan verileri almak ya da birleştirmek için kullanılan bir saldırı türüdür.Bu şekilde normalde erişilemeyen şifreler gibi bilgilere erişilebilir.

1 )Lab: SQL injection UNION attack, finding a column containing text

Öncelikle yine " 'UNION SELECT NULL,NULL-- " yazarak SQL sorgusundaki sütun sayısını öğrenmeliyiz.



3'ten fazla "NULL" yazınca hata verdiğine göre sütun sayımız 3'müş.

Öncelikle hangi sütunda metin değerlerinin bulunduğunu görmek için deneme yapmamız lazım.
Doğru sütunu bulana kadar tüm sütunlara örnek bir metin değeri girerek denemeye başlayabiliriz.





Aradığımız sütunu bulduk,şimdi bizden istenen metin değerini bu sütunda aramamız gerekiyor.



Bu şekilde SQL sorgusunda bulunan istediğimiz verilere ulaşabiliriz.

2 )Lab: SQL injection UNION attack, retrieving data from other tables

Şimdi veritabanındaki başka tablolardan veri çekeceğiz.
Daha önceki gibi "NULL,NULL..." yazarak sütun sayısını bulmamız gerekiyor.
Gereksiz yere uzatmamak için tekrardan nasıl yapıldığını göstermeyeceğim ama daha önce yaptığımız şekilde elimizdeki sorguda 2 sütunun olduğunu öğrendik.

Kullanıcı - şifre bilgilerini almak için elimizdeki sütunları kullanmamız gerekiyor.
'+UNION+SELECT+username,+password+FROM+users-- yazarak bu verilerin olduğu tabloya ulaşabiliriz.



Bulduğumuz tablodan istediğimiz kullanıcının şifresini alıp hesabına giriş yapabiliriz.



3 ) Lab: SQL injection UNION attack, retrieving multiple values in a single column

Bu sefer iki farklı sütundan elde ettiğimiz şifre ve kullanıcı adı bilgilerini tek bir sütundan elde edeceğiz.

Sütun sayısını belirledikten sonra aradığımız metin değerlerinin hangi sütunda olduğunu bulmak için arama yapacağız.





Aradığımız veriler 2. sütundaymış.
2.sütuna '+UNION+SELECT+NULL,username||'~'||password+FROM+users-- yazarak aradığımız verilere erişebiliriz.



Elinize sağlık güzel olmuş.
 
6 May 2021
60
16
çok yararlı olmuş devrem elıne saglık başarılar
Aklımda bır kaç soru kaldı onlarıda burda çozdum
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.