Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

Wordpress ve laravel Ev Ziyareti ( Testo Taylansız)

Zeki Kayaalp

Moderator
Usta Avcı
Katılım
2 Ocak 2026
Mesajlar
106
Tepkime puanı
122
Puan
43
Bu yazımızda Laravel ve WordPress’i olabilecek en detaylı şekilde ele alıp bir Pentester gözüyle hangisinde nasıl zafiyetler var ona bakacağız.

Bismillah..

Laravel Nedir ?

1*p32jVSox8G6goQl88hq8Pg.png
Laravel 2011 yılında kurulan modern web tasarımlarının çatısıdır.

Günümüz ileri düzey ,gelişmiş web sitelerinde sıklıkla kullanılır. Özel projelerde kullanılır bunun en temel sebebi hacklenmesi, yanlış yapılandırılmadığı müddetçe, çok zor olmasıdır. Bu özelliği onu wordpressten ayıran en büyük farktır.

Laravel bir web sitesinin temel mimarisi MVC’dir. (Model,View,Controller)

MODEL: Veri tabanı


VİEW: Kullanıcıya görünen arayüz

CONTROLLER: İş Mantığı

İş Akışı şu şekildedir .

İstek Yönlendirme(routing) Controller Model → Veri Tabanı View Web sitesinin cevabı

Çok ileri düzey çalışan ve büyük veri tabanına sahip sistemler laravel çatısı altında çalışır ( sadece laravel diyemeyiz tabiki de)

Banka sistemleri, Uluslararası insani yardım dernekleri, Ödeme altyapıları,internet bankacılığı… gibi sistemlerde kullanılır çünkü bu tür sistemler çok güçlü güvenlik mekanizmalarına ihtiyaç duyarlar.

Kısacası Laravel; güvenlik mekanizmaları güçlü bir framework’tür.

Peki framework nedir?


1*XfnxttpDkDvwKayL3WL4RQ.png

Sen sıfırdan bir web sitesi tasarlayacaksın diyelim. Eğer Framework yoksa sen her şeyi sıfırdan kendin tasarlarsın.

Örneğin lo : Login sistemi,veritabanı bağlantısı , güvenlik yapılanması…Bunların hepsinim ve daha fazlasını kendin elle yazarsın.

1*SmocVP1rP0SO5wqXO0xo5w.png
siz tek eşref hepiniz:cool:


Sistemde framework varsa tüm bunları hazır alırsın ve ek olarak çok güçlü güvenlik yapılandırmasına sahip olursun sadece iş mantığına odaklanırsın.

1*ma9hx7uafRoXqUfVYliYnw.png


WORDPRESS Nedir ?

1*msocrY0OsyftxtqH5kVdAw.png


Wordpress bic CMS sistemidir(Content Management System) yani içerik yönetim sistemi lo. Laravel framework iken wordpress öyle değildir.

Wordpress sistemleri genellikle kişisel bloklar, haber siteleri, teknoloji siteleri gibi daha basit sistemlerde kullanılır.

Burdaki mantık hızlı kurulum mantığıdır. Laravel çok detaylı bir sistem iken kişisel blok gibi sitelerde bu detay yoktur.

Laravel’de sizler her şeyi kendiniz elle yazarken( login sistemi, veri yapısı, güvenlik mekanizması vb) wordpress ise hazır çalışan bir sistemdir.


Login mekanizması , veri tabanı , güvenlik mekanizmaları gibi unsurların hepsi hazır gelir.

1*to63ze4YmyAJ24rZQyJ9bA.png


Kritik:

Wordpress genelde MySql kullanır. Ama veri tabanı ile ilişkisi ORM değildir. ORM (Object-Relational Mapping) Yani nesne ve veri tabanı arasında herhangi bir köprü sistemi yok. Çünkü wordpress prosedürlerle çalışır. Bu wordpressin veri tabanının olmadığı anlamına gelmez elbette. Laravel’de ORM var.

WordPress, veritabanı ile iletişimi $wpdb sınıfı üzerinden kurar. Direkt raw SQL yazarsın ama bunu bir wrapper (sarmalayıcı) üzerinden gönderirsin.

Az çok laravel nedir wordpress nedir anladık. Şimdi pentest kısmına geçelim.

İlk yapacağım şey bir sitenin laravel mi wordpress mi olduğunu nasıl anlayacağımızdır.

Hazır toolar kullanmadan önce manuel olarak sistemden öğrenmeye çalışacağız.

Site uzantısına deneme yanılma yolu yapılarak sistemi test et önce


wp-admin

wp-login.php

wp-content


gibi şeyler arayın
1-HTML durum kodlarını kontrol edelim

CTRL+u ile kaynak koda erişin ve sistem içerisinde

meta name=”generator” content=”WordPress” gibi bir şey arayın
1*zTS_726tOsI8nLwY9Q56WQ.png

Burada bir siteyi incelediğimde 6. Satırda bir forum sitesi olduğu anlaşılıyor.

site içerisinde f12'ye basarak sistemin içerisinde cookieleri inceleyin. cookieler network sekmesinde headers kısmında coocieleri inceleyin
1*81NijnqPpkgH8mOiw0XJ4w.png


/vendor/

/storge/logs/

/public/index.php

laravel_session

XSRF-TOKEN var ise laraveldir.

2- robots.txt kısmına bakalım

robots.txt

site.com/robots.txt olarak incelenir ve sistemin izin verilen ve verilmeyenleri çıkarır genellikle ve sistem hakkında bilgi verir.

wordpress iste zaten her durumun başına wp-admin wp-user gibi
wp yazar

Not: laravel olması durumunda genellikle belli bir sabite yok çünkü her login bile özel yapılandırılır.

Disallow: /admin/
Disallow: /comment/reply/
Disallow: /filter/tips
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /user/logout/
# Paths (no clean URLs)
Disallow: /index.php/admin/
Disallow: /index.php/comment/reply/
Disallow: /index.php/filter/tips
Disallow: /index.php/node/add/
Disallow: /index.php/search/


Şu şekilde gözüken sistemler Drupal sistemlerde olur. Eğer geliştirici isterse laraveli bu şekilde tasarlayabilir. Laravel ve wordpress sadece 2 örnek bizim için. Bunlar dışında Drupal gibi yüksek güvenlikli çok sistem var

3- WAPPALYZER kullanarak sistemi öğrenme.
1*JBeGM2hL3Lm8jCWu39d5Bw.png

Wappalyzer: Web sayfasının teknolojik mimarisini gösteren gogıl eklenti tooludur.

Burada jll.com adlı sitenin wordpress olduğu çok açık gözüküyor.


4-CURL ile detaylı tarama

curl -I <HEDEF SİTENİN UZANTISI>

1*np1KPhJ8zM5j3xQyNIJr2g.png

Burda bir siteyi taradığımda laravel olduğunu anlıyorum.

Çok daha fazla yöntem var lakin bu kadarı işinizi görür.

En mühim ve son kısım.

Bir hacker wordpress ve laravele nasıl saldırır?

WordPress için en sık 4 yöntem


1.Yöntem: Authentication bypass / login zayıflıkları

wp-login.php var mı yok mu kontrol et

brute force yapabilirsen kapsam dahilinde yap

session zayıflığını kontrol et

bunları yapmadan önce sistemde rate limit ve 2 faktörlü doğrulama var mı yok mu ona bak.

2. Yöntem File upload → RCE zinciri

dosya yükleme kısımları ara eğer varsa kendi oluşturduğun php dosyanı kapsam dahilinde yüklemeye çalış

bunu genellikle şu kısımlarda ara:

media yükleme

iletişim formu

eklenti yükleme özelliğine



3.Yöntem XSS(stored,reflected)


wordpress sistemlerin hemen hepsine şunlar bulunur:


yorum kısmı , arama butonu…


XSS payloadlarını kapsam dahilinde deneyebilirsin.



4. Yöntem Information disclosure ( En kritik olanı)


En kritik zafiyetlerden biri olan değerli bilgileri ortaya çıkarma zafiyeti bizim için muhakkak bakmamız gereken zafiyetlerden biridir.

Değerli veriler sıklıkla;


/wp-json

/wp-config.php.bak

.git

deug log files



kısımlarında çok kritik veriler bulunur. Bunlar veri tabanı bilgileri, api keyler, iç sunucu bilgisi olabilir.

Laravel sistemlerde en sık karşılaşılan 4 zafiyet



1. Zafiyet Broken Access control


Kullanıcının login olsa bile yetkisi olmayan işlemleri yapmasıdır.

Bu zafiyet genellikle şu şekilde ortaya çıkar.

diyelim ki sizler bir kullanıcıyı silmek istediniz sistemden. Normalde yetkiniz olmasa bunu yapamazsınız.

/admin/delete-user/5

bu admin olarak 5. kullanıcıyı sil demek

1*w2bKERrJcjSqU90IztlgPQ.png


Eğer broken access control zafiyeti mevcut ise 5. kullanıcı sistemden silinir.

2. Zafiyet IDOR


IDOR bildiğiniz üzere ID değiştirerek başka kullanıcının verisine erişimdir.

senin ID eğer url üzerinde

/site.com/user/1 bu 1 senin ID diyelim sen bunu 2 yaptığında eğer başka kişinin verisi dönüyors bu IDOR zafiyetidir.


3.Mass Assignment (Model Injection)



Buna dikkat et çünkü bu laravel sistemlerde izin verilmemiş alanların kullanıcı inputundan direkt yazılabilmesidir.

Ne demek istiyorum bilisen mi? bak, gör.

{
“name”: “test”,
“is_admin”: true
}


sonra sistemi kontrol et. gerçekten admin oldun mu, backend nasıl davrandı , kabul etti mi etmedi mi

veri tabanına yazıldı mı gibi gibi

4) .env / Debug Information Leak



WordPress’teki 4. yöntemde olduğu gibi kritik bilgileri ortaya çıkarma her sistem için en kritik zafiyettir.

laravel gibi sistemlerde kritik veriyi doğru yerde aramak çok önemlidir. yoksa boşa kürek çekersiniz.

şu dosyalara bak.

.env dosyasına erişebliyor musun ?

eğer erişebilirsen DB bilgileri API keyler gibi değerli veriler elde edersiniz.

https://site.com/.env normalde erişememen gerekiyor.

sadece .env değil şunlara da bak


.git/

stroge/logs/laravel.log

composer.json

composer.lock


Ya unutulduysa?

laravel sistemin debug modu açık mı kontrol et eğer açıksa :

sql query, full stack trace, dosya path’leri gibi verilere erişilebilir.

Sistem hata mesajı verdiğinde nasıl davranıyor muhakkak kontrol et. Bazen hata mesajı verirken bilgi sızdırabilir. En azından bunun gibi

1*xm-28fpNpDqhEyg6BOHrRg.png



normalde sistem şu şekilde ilerlerken:

site.com/user/4

bu normal bir kullanıcı

ama sen random

site.com/user/aaaaa yazdığında sistem nasıl hata veriyor?

string yerine number yaz

1*unkMsGcevt5L2esU3GBq4A.png


Laravel zafiyetlerinin %80’i:

framework değil developer hatasıdır

Kısaca bu şekilde değinmek istedim. Elbette çok fazla saldırı yöntemi var ben genelde sıklıkla keşfedilen zafiyetleri belirttim. Yazımdaki eksik ve hatalı kısımları ; bu da olsaydı fena olmazdı dediğiniz şeyleri yorumlarda belirtmeyi unutmayın.

Bir sonraki yazıda görüşmek üzere
Zeki Kayaalp/Pentester



 
Geri
Üst