Port Swigger | Lab: SQL injection UNION attack, finding a column containing text

ms10prod

Yeni üye
13 Kas 2022
25
23
1m29afr.png


Merhaba arkadaşlar bugün sizlerle Port Swigger'de bulunan "SQL injection UNION attack, finding a column containing text" adlı
Lab'ı çözeceğiz. Lab'a buradan ulaşabirisiniz.


jsa4d80.png



Acces the lab diyerek başlıyoruz.
Açtığımızda karşımıza şöyle bir sayfa çıkıyor.
6bso9t8.png


Önce bu labda bizden ne istediğini söyliyelim. Burda bizden sorgunun gittiği tabloda bulunan sütünun veri tipini bulmamızı istiyor. Resimde altını çizdiğim yerde bizden bu veriyle uyumlu olan sütünü bulmamızı istiyor. Öncelikle söylemeliyimki bu sizde farklı olacaktır ama tipi yine aynı olur. Bilmeyenler için söyleyelim bu verinin tipi string. Evet şimdi sql injection aramaya başlayabiliriz. Bunun için bizim parametreye ihtiyacımız var.


7vwtfkj.png


Karşıya parametre gönderdiğimiz yer olarak yukarıda işaretlediğim menüler dikkatimi çekti bende tıklamaya karar verdim.


hr3rjqb.png



Evet gerçektende parametre gidiyormuş.
Burada parametrenin sonuna ' koyarak zaafiyet varmı kontrol ediyoruz.

9e8g89o.png


Sonuna ' koyunca gerçektende açık varmış hata aldık. Burada %27 çıkıyor ' yerine ona takılmayın o "tek tırnak işaretinin" html encode hali sizde ' koysanız öyle olacaktır.

Bundan sonraki aşama sona -- koyarak kalan sql sorgusunu yorum satırına almak (bilgisayar tarafından dikkate alınmamasını söylemek) böyle yaparsak site düzelir ve bizde verileri çekebiliriz. Verileri çekmek için önce satır sayısını bulalım. Bunun için union select kullanacağım ve hata almayana kadar NULL ekleyeceğim yani şöyle,


al4i31q.png

Burda union select null yaptım hata aldım union select null,null yaptım görüldüğü gibi hata aldım (bu arada o aradaki +'lar space anlamına geliyor). Ama union select null,null,null yapınca hata almadım.


bvurwt7.png


Yani bu demek oluyorki 3 sütünumuz var. Eee o zaman ben null yerine bana verdiği veriyi yazarsam ve hata almazsam hem o sütunun tipini öğreniriz hemde bize verdiği kodu veritabanında sorgulatıp labı tamamlamış oluruz. o yüzden her null un yerine tek tek o veriyi yazıp deniyoruz. Bende 2. sütunda string çıktı. yani şöyle tamamlamış oldum labı:

jiicmlm.png


Böylece Labı tamamlamış olduk. Okuduğunuz için teşekkürler...


34i6rgo.png
 

fayrtek

Uzman üye
9 Nis 2021
1,174
386
23
İnternetin Derinliklerinde...
1m29afr.png


Merhaba arkadaşlar bugün sizlerle Port Swigger'de bulunan "SQL injection UNION attack, finding a column containing text" adlı
Lab'ı çözeceğiz. Lab'a buradan ulaşabirisiniz.


jsa4d80.png



Acces the lab diyerek başlıyoruz.
Açtığımızda karşımıza şöyle bir sayfa çıkıyor.
6bso9t8.png


Önce bu labda bizden ne istediğini söyliyelim. Burda bizden sorgunun gittiği tabloda bulunan sütünun veri tipini bulmamızı istiyor. Resimde altını çizdiğim yerde bizden bu veriyle uyumlu olan sütünü bulmamızı istiyor. Öncelikle söylemeliyimki bu sizde farklı olacaktır ama tipi yine aynı olur. Bilmeyenler için söyleyelim bu verinin tipi string. Evet şimdi sql injection aramaya başlayabiliriz. Bunun için bizim parametreye ihtiyacımız var.


7vwtfkj.png


Karşıya parametre gönderdiğimiz yer olarak yukarıda işaretlediğim menüler dikkatimi çekti bende tıklamaya karar verdim.


hr3rjqb.png



Evet gerçektende parametre gidiyormuş.
Burada parametrenin sonuna ' koyarak zaafiyet varmı kontrol ediyoruz.

9e8g89o.png


Sonuna ' koyunca gerçektende açık varmış hata aldık. Burada %27 çıkıyor ' yerine ona takılmayın o "tek tırnak işaretinin" html encode hali sizde ' koysanız öyle olacaktır.

Bundan sonraki aşama sona -- koyarak kalan sql sorgusunu yorum satırına almak (bilgisayar tarafından dikkate alınmamasını söylemek) böyle yaparsak site düzelir ve bizde verileri çekebiliriz. Verileri çekmek için önce satır sayısını bulalım. Bunun için union select kullanacağım ve hata almayana kadar NULL ekleyeceğim yani şöyle,


al4i31q.png

Burda union select null yaptım hata aldım union select null,null yaptım görüldüğü gibi hata aldım (bu arada o aradaki +'lar space anlamına geliyor). Ama union select null,null,null yapınca hata almadım.


bvurwt7.png


Yani bu demek oluyorki 3 sütünumuz var. Eee o zaman ben null yerine bana verdiği veriyi yazarsam ve hata almazsam hem o sütunun tipini öğreniriz hemde bize verdiği kodu veritabanında sorgulatıp labı tamamlamış oluruz. o yüzden her null un yerine tek tek o veriyi yazıp deniyoruz. Bende 2. sütunda string çıktı. yani şöyle tamamlamış oldum labı:

jiicmlm.png


Böylece Labı tamamlamış olduk. Okuduğunuz için teşekkürler...


34i6rgo.png
elinize sağlık çok başarılı olmuş
 
Ü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.