Kali Linux'ta Damn Vulnerable Web Application (DVWA) kurun
Eğer bir bug bounty avcısı yolundaysanız veya web uygulaması açıkları hakkında bilgi edinmek istiyorsanız, pratik yapmak için gerçekten bir sahte web sitesine ihtiyacınız var. Bulduğunuz açığı nasıl ele alacağınızı bilmiyorsanız, hiçbir zafiyet tarayıcısına dokunmayın. Bir web sitesine tarama yaptığınızda potansiyel bir SQL Injection açığı bulsanız bile, o açığı nasıl gerçekleştireceğinizi bilmiyorsanız bu işe yaramaz. Sahte web sitesi uygulamaları, güvenli bir ortamda açığı pratik yapmanıza, test etmenize ve istismar etmenize olanak tanır.
Aşağıdaki konuları detaylı bir şekilde öğreneceğiz:
- Kali Linux'ta DVWA'nın Kurulumu ve Yapılandırılması
- Apache 2 web sunucusu kurulumu
- PHP yapılandırması
- MySQL veritabanı kurulumu
DVWA'ya Genel Bakış
Damn Vulnerable Web Application (DVWA), bir penetrasyon testçisi için saldırgan hackleme becerilerini kontrollü bir ortamda test edip pratik yapması amacıyla oluşturulan bir web uygulamasıdır.
Kali Linux'a DVWA kurun
Kali üzerinde DVWA kurmak aslında kolaydır, aslında mevcut birkaç yöntem vardır. Öncelikle, kullanıcı DVWA GitHub sayfasından projeyi indirmeli ve veritabanı, web sunucusu ve PHP gibi birkaç yapılandırma ayarı yapmalıdır. İkincisi, kullanıcı Metasploitable'ı kurarken önceden yapılmış bir DVWA paketini de alabilir. Üçüncüsü, Kali Linux deposu, apt-install komutunu kullanarak DVWA paketi de sunmaktadır. Son yöntem, Kali Linux üzerinde DVWA kurmanın en kolay ve zahmetsiz yoludur.
Bu eğitimde, DVWA'yı Kali Linux'ta manuel olarak nasıl kuracağımızı veya inşa edeceğimizi öğreneceğiz. Amacımız, bir web sitesi yapmayı öğrenmek ve sıklıkla web sitesi inşa etmek için kullanılan teknolojinin ne olduğunu bilmektir.
Ön koşul
DVWA'yı Kali Linux'umuza kurmadan önce, güncellenmiş bir repo listesine sahip olduğumuzdan ve gerekli tüm paketleri aşağıdaki komutla kurduğumuzdan emin olun:
sudo apt update
sudo apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php1. DVWA GitHub Projesini İndirin
Öncelikle, DVWA GitHub projesini Kali Linux'umuzda /var/www/html dizinine indirmemiz veya klonlamamız gerekiyor. Bunu yapmak için basitçe git clone komutunu kullanın, ancak mevcut dizini /var/www/html olarak değiştirdiğinizden emin olun; bunu cd komutunu kullanarak yapabilirsiniz.
cd /var/www/html
sudo git clone https://github.com/digininja/DVWAProjeyi indirdikten sonra, içinde hangi dosyaların olduğunu bir göz atalım.
Sonra, DVWA dizinine okuma, yazma ve çalıştırma izinleri ayarlayın.
sudo chmod -R 777 DVWA/Bu izin, DVWA'nın PHPids günlüklerini depolamasına ve DVWA/hackable/uploads dizininde bulunan yüklenen dosyayı depolamasına olanak tanır.
2. DVWA Yapılandırma Dosyası
DVWA'nın yapılandırma ayarının varsayılan örneği /config dizini altında bulunur. Dosya adı config.inc.php.dist'dir. DBMS, veritabanı kimlik bilgileri, varsayılan DVWA güvenlik ayarları ve daha fazlası gibi yapılandırmaları bulabilirsiniz. Aşağıdaki dosyaya bir göz atalım.
Bu dosya bir örnek dosyadır, DVWA bunu kullanmayacaktır. Aksi takdirde, bu dosyayı kopyalayıp adını değiştireceğiz (sonundaki .dist'i kaldırarak) config.inc.php olarak.
sudo cp config.inc.php.dist config.inc.phpŞimdi, kopyalanan dosyayı (config.inc.php) herhangi bir metin düzenleyici kullanarak açın ve veritabanı varsayılan ayarlarını, kullanıcı adı ve şifreyi değiştirin.
Bir örnek olarak, kullanıcıyı 'kullanıcı' ve şifreyi 'şifre' olarak değiştireceğiz.
Lütfen yukarıdaki değeri not edin. Aşağıdaki sonraki yapılandırma için db_server, db_database, db_user ve db_password değerine ihtiyacımız var.
3. Veritabanını Yapılandırma
Öncelikle, aşağıdaki komutu kullanarak MySQL hizmetini başlatmamız gerekiyor:
sudo service mysql startSonra, root kullanıcısı ile MySQL'e giriş yapın, sizden root şifresi istenecektir:
sudo mysql -u root -pAşağıdaki tabloda kullanacağımız DVWA yapılandırma ayarındaki veritabanı bilgi değerini (adım 2'de) hatırlayalım.
| db_server | 127.0.0.1 |
| db_database | dvwa |
| db_user | user |
| db_password | passweed |
Yukarıdaki bilgileri kullanarak, ‘user’ adı ve ‘passweed’ şifresi ile ‘127.0.0.1’ adresindeki yerel sunucumuzda bir veritabanı kullanıcısı oluşturmak için aşağıdaki komutu kullanın:
create user 'user'@'127.0.0.1' identified by 'passweed';Eğer doğru bir şekilde yapılandırılmışsa, mutlu çıktı “Sorgu Tamam” olacaktır.
Son adım, kullanıcıya 'dvwa' veritabanı üzerinde tüm ayrıcalıkları vermektir. Aşağıdaki komutu çalıştırın. Yine kullanıcı adı, parola ve sunucu bilgilerini sağlamanız gerekiyor.
grant all privileges on dvwa.* to 'user'@'127.0.0.1' identified by 'passweed';4. Apache2 Web Sunucusunu Yapılandırın
Kali Linux'taki apache2 yükleme dosyası /etc/php dizininde, PHP'nizin versiyonunu takiben saklanmaktadır. Bu eğiticide, en son PHP sürümü 8.1'i kullanıyoruz.
Artık allow_url_include'un etkinleştirilmesi için bir PHP işlevinde değişiklik yapacağız. Konfigürasyon, /apache2/php.ini dosyasında saklanmaktadır. Dosyayı favori metin düzenleyicinizle açın. Burada, nano metin düzenleyicisini kullanıyorum.
sudo nano /etc/php/8.1/apache2/php.iniAşağı kaydırın ve Fopen wrapper'ları bölümü için bu iki işlevin etkin olduğunu kontrol edin, değerini On olarak ayarlayın, bunlar allow_url_fopen ve allow_url_include.
Then, değişiklikleri Ctrl + O ve Enter tuşlarına basarak kaydedin. Nano editöründen Ctrl + X tuşuna basarak çıkın. Bu işlevi etkinleştirerek, DVWA XSS uzaktan dosya dahil etme (RFI) saldırısını gerçekleştirmemize izin verir.
5. DVWA'yı Tarayıcıda Başlat
Her şey yapılandırıldıktan sonra, aşağıdaki komutu çalıştırarak apache2 hizmetini ve MySQL hizmetini yeniden başlatın:
sudo systemctl restart apache2.service
sudo service mysql restartArdından, bir tarayıcı açın ve http://localhost/DVWA/ veya http://127.0.0.1/DVWA/ adresini ziyaret edin. Aşağıda gösterildiği gibi bir DVWA karşılama sayfası göreceksiniz.
Son yapılandırmaya hâlâ ihtiyaç var. Daha önce veritabanı kullanıcı kimlik bilgilerini oluşturduk ama veritabanını oluşturmadık. Bir tane oluşturmak için DVWA sayfasına gidin ve sol panelde ‘Ayarlar/Veritabanını Sıfırla’ seçeneğine tıklayın.
‘Veritabanı Kurulumu’ sayfasını göreceksiniz. Şimdi, en alta kadar kaydırın ve ‘Veritabanını Oluştur/Sıfırla’ adlı bir buton bulun.
O butona tıklayın.
Kurulum tamamlandı. DVWA'nız kullanılmak üzere hazır. Aşağıdaki şekilde gösterildiği gibi, DVWA'daki Brute Force, Komut Enjeksiyonu, CSRF saldırısı, Dosya Dâhil Etme, Dosya Yükleme, SQL enjeksiyonu, XSS saldırısı ve daha birçok mevcut zayıflık sayfasını keşfedebilirsiniz.
Testi çalıştırmadan önce uygun güvenlik seviyesini seçtiğinizden emin olun. Varsayılan olarak, güvenlik seviyesi imkânsız olarak ayarlanmıştı, bu da güvenli bir sayfanın diğer bir terimidir. Temel kavramı öğrenmek için en düşük seviyeden başlamanızı öneririm.
Sonuç
Hackleme, aynı zamanda bir sızma testi gerçekleştirmede deneyim ve nicelik gerektiren pratik bir beceridir. DVWA, bir web uygulamasının güvenlik açıklarını saldırarak nasıl hedef alınacağını başkalarına öğretmek veya eğitmek için risk olmadan veya kontrollü bir ortamda faydalıdır.
















