- 15 May 2023
- 59
- 11
Selam,
Ben shieda. Bu konuda portswiggerdaki sql injection union attack labden iki çözümü elimden geldiğince açıklayacağım. Daha yeni yeni başlıyorum ve bu benim ilk konum, bir yanlışım olursa düzeltin lütfen .
1. Lab: SQL injection UNION attack, determining the number of columns returned by the query
Bu labin kategoriler kısmında bir sql açığı bulunuyor. UNION saldırısı ile database tablolarından bilgi alabiliyoruz. Sütun sayısını öğrenmek için null değerini içeren bir satır bulmamız gerekiyor.Çözüm:
Aşağıdaki resimde gösterdiğim gibi kategorilerden birine giriyoruz, çünkü dediğim gibi açığımız kategori filtrelerinde bulunuyor.
Ben "Accessories" kategorisini tercih ettim ve urlnin sonuna
/filter?category=Accessories
eklendi.Şimdi urlnin sonuna
'UNION SELECT NULL--
ekliyoruz ve bize verdiği yanıta bakıyoruz.Hata aldığımıza göre aradığımız veri ilk sütunda yok. Kodumuza bir tane daha NULL değeri ekleyerek (
'UNION SELECT NULL,NULL--
) sonuç alana kadar denemeye devam ediyoruz.İkinci NULL değerini eklediğimizde de hata verdi. O zaman üçüncü null değerimizi de ekliyoruz. Böylece url sonuna eklediğimiz kodun son hali:
'UNION SELECT NULL,NULL,NULL--
oluyor.Gördüğünüz gibi bir sonuç aldık ve üç sütun olduğunu öğrendik. Emin olmak için dördüncü NULL değerini ekleyebilirsiniz. Sayfa hata verecektir ve böylece üç sütun olduğundan emin olacağız.
2. Lab: SQL injection UNION attack, finding a column containing text
Bu labin kategoriler kısmında bir sql açığı bulunuyor. UNION saldırısı ile database tablolarından bilgi alabiliyoruz. Lab size rastgele bir değer vericektir, önceki labde bulduğumuz sütun sayısını kullanarak tabloda bu veriyi arayacağız.Çözüm:
Yine önceki çözümdeki gibi bir kategoriye giriyoruz. Ben bu sefer "Gifts" kategorisini tercih edeceğim.
Şimdi, null değerleri yerine sırayla rastgele bir metin değeri girerek metin değeri içeren bir sütun buluyoruz.
İlk sıradan başlayalım. Yine aynı şekilde urlnin sonuna
'UNION SELECT 'shieda',NULL,NULL--
kodunu girdiğimde hata ile karşılaşıyorum.Bu demek ki aradığımız metin değeri ilk sütunda yok. İkinciyi deniyoruz. Kod:
'UNION SELECT NULL,'shieda',NULL--
Aradığımız sütunu bulmuş olduk. Şimdi labin bizden istediği değeri sütunda aratıyoruz. Kod:
'UNION SELECT NULL,'NQWM3O',NULL--
(Sizde bu değer aynı olmayacaktır. Üst tarafta istenen değer yazıyor.)Böylece bu labi de çözmüş olduk.