DVWA nedir ve Kali Linux’a Kurulumu
by Suat Münüklü · Published · Updated
Merhaba değerli okurlarım bugün penetrasyon tarafında ve web güvenliği alanında kendini geliştirmek istiyen arkadaşlarıma öyle güzel bir haberim olacak ki. Bu makale tamamıyla onlar için. Linux işletim sisteminin üstünde DVWA kuracağız. Peki DVWA nedir ? Hemen yazımı uzatmadan bunlardan DVWA Kali Linux’a Kurulum bahsedeceğim. DVWA Kali Linux’a Kurulumu ve Damn Vulnerable Web Application (DVWA) Nedir ? DVWA Tamamen web güvenliği ve Php ile oluşturulmuş içinde belli web zafiyetlerini barındıran bir test ortamıdır. Daha doğrusu kendini bu konuda geliştirmek istiyenler için eğitim diyebiliriz. Peki DVWA içinde ne gibi zaafiyetler var ? *XSS Stored *Upload *XSS Reflected *SQL Injection *CSRF *Command EXecution *File Injection *Brute Force DVWA içinde 3 çeşit zorluk mevcut. Bunlar high,medium ve low‘dur. DVWA Kali Linux’a Kurulumu (Damn Vulnerable Web Application) DVWA Kurulumu için öncelikle “http://www.dvwa.co.uk/” sitesine girip download’a basarak DVWA indiriyoruz. DVWA indirdikten sonra kendi local cihazımızda çalıştaracağımız için öncelikle “apache2” ve “mysql” servisini aktif hale getiriyoruz. Bu komutları kullanarak ” /etc/init.d/apache2 start /etc/init.d/mysql/start ” Servisleri aktif ettik, http://localhost’umuz yani kendi cihazımızın üzerinde web servisini çalıştırmaya başladık. Bu süreçte DVWA dosyalarını web servisin çalıştığı alana kopyalamamız lazım ki DVWA’yı aktif hale getirelim. Web servisimizin çalıştığı alan /var/www/html alanı ve ben masaüstümde bulunan “DVWA-master” klasörünü “dvwa” olarak o alana taşıyor olacağım. “cp -r /root/Desktop/DVWA-master/ /var/www/html/dvwa” Web servisimizi kurduk ve dosyalarımızı gerekli yere taşıdık. Web servisin çoğu işlemi bitmiş bulunmakta. Ama bu süreçte web servisimizin üstünde ki veri girişlerini kaydedeceğimiz bir veritabanına ihtiyacımız var. Bunun içinde mysql’e bağlanıp yeni kullanıcı ve yeni veritabanı oluşturmamız gerek. öncelikle mysql’e bağlanıyoruz. “mysql -u root -p (Root user’ın password) ” Giriş yaptıktan sonra yeni bir database oluşturup, database şifre tanımlayıp ve yetkilendirmek için bu komutları kullanıyoruz. “ create database dvwa; grant all on dvwa.* to dvwa@localhost identified by ‘xxx’; flush privileges; ” Database oluşturma işlemini tamamladık. Şimdi de Mysql üzerinden user oluşturup,şifre tanımlayıp ve yetkilendireceğiz. Kullanıcı ve database arasında ki farklılık anlaşılsın diye kullanıcı ismini büyük harflerle tanımlıyorum. Kullanıcıyı tanımlamak için bu komutları kullanıyoruz. “ create user DVWA; grant all on dvwa.* to DVWA@localhost identified by ‘p@ssword’; flush privileges; ” MYSQL ile ilgili gerekli işlemleri tanımladıktan sonra sıra web servisinin yayınladığımız “dvwa” klasörüne gidip, config dosyalarını düzenlemekte. Öncelikle indirdikten sonra “dvwa” klasöründe ki config dosyasının uzantısı tarafımıza farklı geliyor.Dosya uzantısı “config.inc.php.dist” olarak geliyor. Bir apache2 servisinde bu config dosyasını çalıştırmak için dosya uzantısı “php” olması gerekli. Bunun için dosyanın adını değiştiriyorum. Bu komutlarla değiştirebiliriz. (Dosya isimlerine ve uzantılarına dikkat etmenizi istiyeceğim.) ” mv /var/www/html/dvwa/config/config.inc.php.dist /var/www/html/dvwa/config/config.inc.php ” Config dosyasını aktif hale getirdik. Getirdikten sonra dosyayı artık düzenleme işlemine geçmemiz gerekiyor. Ben örnekte bir metin editörü kullanarak düzenledim. Config dosyasında kuracağımız DVWA’nın database bilgilerini ve host bilgilerini eşleştirmek için bizden istiyor. Ben aşağıda ki örnekte demin mysql’de yaptığım kullanıcı adı, şifre ve database bilgilerini girdim. “127.0.0.1 ” benim kendi bilgisayarım olduğunu belirtir ve bu durumda kurulum için tüm config ayarlarını şimdilik bitirmiş bulunuyorum. Config işlemlerini bitirdikten sonra ” DVWA” kurulumuna gerekli erişimleri ve ulaşımı sağlamak için web servisimizin yayın yaptığı klasörde “dvwa” klasörüne full yetki veriyoruz. Bu süreç bize erişim yaptığımız sitenin dosyalarını görmemize yarayacak. ” chmod -R 777 /var/www/html/dvwa” Tarafımızda son bir işlem olarakta apache2 kurulu olan bilgisayarımızda belirtilmiş olan bir kaç apache2 ayarları yapmamız. Bunun için komutta belirtmiş olduğum dosyaya erişim yaparak. ” allow_url_include = on ” ve “allow_url_fopen= On” şekilde yapmamız lazım. Bu komutları kullanarak apache2 ayarlarına girebilir ve düzenlemeyi yapabilirsiniz. ” leafpad /etc/php/7.2/apache2/php.ini ” Artık tüm işlemlerimiz bitti. Bir internet browser sayfası açarak artık Dvwa’a erişim sağlayabiliriz. Bunun için internet sayfasına “localhost” yazmanız yeterli olacaktır. Karşımıza aşağıda ki gibi bir ekran çıkacaktır. Bu ekran bizim DVWA programının kurulumunda ve işleminde eksik olan ve olmayan programları , mysql erişim bilgileri ve sürümleri, anlayacağımız bize kurulum için yapmamız gereken herşeyi ilk açılışta direk tarafımıza sunmaktadır. Bazı eksiklikler olabilir ama bu pek önemli olmadığı sürece kurulumu ENGELLEMEYECEKTİR. Bu süreçte “Create/ Reset Database” butonuna basarak oluşturduğumuz Database’e program bizim için erişip gerekli columunsları yazıcak ve çalışmamızı sağlayacaktır. Eğer ki bir problem çıkmadığı sürece ” Create / Reset Database ” butonuna bastıktan sonra aşağıda ki gibi bir ekran alabilirsiniz. Bu ekran verilerin gidip yazdığını oluşturduğu table’ları göstermektedir. Bu kurulumun son aşamasıdır. Çünkü bu süreçten sonra artık kullanmaya başlıyacağız. ” Please Login” butonuna basarak giriş ekranına erişim yapabiliriz. Kurmuş olduğumuz DVWA’nın default kullanıcı adı ve şifresi aşağıda ki gibidir. Giriş yaparak erişim yapabilirsiniz. Kullanıcı adı : admin Şifre : password Tüm kurulum bitti artık DVWA kullanmaya başlıyabiliriz.
anlatım için teşekkürler.
/etc/init.d/mysql/start
kısmınıda sondaki / karakteri olmamalı
/etc/init.d/mysql start
——
MariaDB [(none)]> grant all on dvwa.* to dvwa@localhost identified by ‘xxx’;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘xxx’’ at line 1
yeni versiyondan kaynaklı yukarıdaki hatayı alanlar ağıdaki 2 satırdaki tek tırnaklar çift tırnak olmalı
grant all on dvwa.* to dvwa@localhost identified by ‘xxx’;
yukarıdaki satır aşağıdaki gibi olmalı
grant all on dvwa.* to dvwa@localhost identified by “xxx”;
grant all on dvwa.* to DVWA@localhost identified by ‘p@ssword’;
yukarıdaki satır aşağıdaki gibi olmalı
grant all on dvwa.* to DVWA@localhost identified by “p@ssword”;
——
ve mysql’den çıkış için “exit” komutu olmalı
Bilgilendirmen için teşekkürler eksiklerim olabilir, beraber tamamlamayarak bilgi aktarmak her zaman iyidir. Teşekkürler
Gayet iyi bir anlatım olmuş. Teşekkürler.
Make a more new posts please 🙂
/etc/php/7.2/apache2/php.ini Komutu yazdığımda boş sayfa geliyor bu kısımda tıkandım
Emre selamlar , hangi dağıtım üzerinden deniyorsun ? Sonradan gelen sürümler için değişiklik olmuş olabilir. Özelden iletişime geçersen benimle sana yardımcı olabilirim.