WordPress’teki Xmlrpc.php , üçüncü taraf uygulamalar aracılığıyla sitenize uzaktan erişmek için kullanılır. Bu araç, WordPress henüz emekleme dönemindeyken ortaya çıktı ve İnternet’in hızı sitede hızlı bir şekilde gönderiler oluşturmanıza ve yayınlamanıza izin vermedi. Yöneticinin gönderileri oluşturup düzenlediği bir çevrimdışı istemci vardı ve ardından xmlrpc.php aracılığıyla gönderiler sitede yayınlandı. 2008’de WordPress iPhone uygulaması yayınlandı ve XML-RPC desteği, devre dışı bırakma seçeneği olmadan varsayılan olarak etkinleştirildi.
Neden xmlrpc.php’yi devre dışı bırakmalısınız?
XML-RPC’yi devre dışı bırakmanın önemli nedenlerinden biri siteniz için bir güvenlik riskidir. Saldırganlar genellikle bu boşluğu site yönetici şifrenizi kırmak ve bir DDoS saldırısı için kullanır. Barındırma panelindeki CPU üzerindeki yükün nedeni, XML-RPC üzerinden istenmeyen bağlantıdır, bu nedenle barındırma işleminiz askıya alınabilir.
Sitenizde XML-RPC’nin etkin olup olmadığı nasıl kontrol edilir?
XML-RPC’yi devre dışı bırakmak için, Disable XML-RPC eklentisini kurun ve etkinleştirin. Gerekli ayarları otomatik olarak belirleyecek ve xmlrpc.php üzerinden erişimi kapatacaktır. Eklentiyi WordPress yönetici panelindeki Eklentiler bölümünden yükleyebilirsiniz . XML-RPC’yi devre dışı bıraktıktan sonra, xmlrpc.php üzerinden erişim kapatılacaktır. Böylece hem sitenizin güvenliğini sağlamlaştırmış olursunuz hem de CPU’ya binen yükten dolayı hosting hizmetinin bloke edilmesinden kurtulmuş olursunuz.
Yaygın XML-RPC Güvenlik Açıkları
Sorun, XML-RPC’nin kendisinde değil, dosyanın sitenizde bir parolayı kaba kuvvetle zorlamak için nasıl kullanılabileceğiyle ilgilidir. Geri ping, geri izleme ve daha fazlası için xmlrpc.php’yi etkinleştiren WordPress, saldırganlar tarafından ciddi DDoS saldırılarına neden olan devasa bir botnet’in parçası olarak kullanılabilir. xmlrpc.php’nin etkin olup olmadığını kontrol edin WordPress sitenizde /xmlrpc.php için bir GET isteğinde bulunmanız yeterlidir . site.ru/xmlrpc.php dosyasına veya yüklediğiniz klasöre giden tipik bir yol : site.ru/wordpress/xmlrpc.php veya site.ru/wp/xmlrpc.php . Sunucudan bir yanıt alırsanız: “XML-RPC sunucusu yalnızca POST isteklerini kabul eder” (XML-RPC sunucusu yalnızca POST isteklerini kabul eder) , aşağıdaki resimde gösterildiği gibi, bu, güvenlik açığı bulunan xmlrpc.php dosyasının dahil edildiği anlamına gelir Siteler Arası Bağlantı Noktası Saldırısı (XSPA) veya Sunucu Tarafı İstek Sahteciliği (SSRF) Proxy’nizi açın ( Burp Suite kullanıyorum ) ve daha önce yaptığımız isteği tekrarlayıcı sekmesine gönderin, böylece yönetebiliriz. Şimdi bir POST isteği gönderiyoruz ve mevcut tüm yöntemleri listeliyoruz. Niye ya? Çünkü hangi eylemlerin yapılabileceğini bu şekilde biliyoruz ve potansiyel olarak bunlardan birini saldırmak için kullanıyoruz. Aşağıdaki POST verileriyle xmlrpc.php dosyasına bir POST isteği yapın (aşağıdaki resimde gösterildiği gibi) Mevcut tüm yöntemlerin bir listesiyle başarılı bir yanıt alındı. Yöntemler listesinde pingback.ping satırını bulabilirseniz, xmlrpc.php dosyası potansiyel olarak kurbanın ana bilgisayarına karşı bir DDoS saldırısını tetiklemek için kullanılabilir. Bu, aşağıdaki şekilde gerçekleştirilir: Sunucunun bize bir ping göndermesini istediğimizden, dinlemek için genel bir IP / sunucuya ihtiyacımız var. Bu örnekte, 80 numaralı HTTP bağlantı noktasını dinleyen bir socat sunucusunu barındırmak için ngrok kullanıyorum