{"id":1589,"date":"2026-10-06T13:29:38","date_gmt":"2026-10-06T10:29:38","guid":{"rendered":"https:\/\/tuncersen.com.tr\/blog\/?p=1589"},"modified":"2026-10-06T13:40:18","modified_gmt":"2026-10-06T10:40:18","slug":"wordpress-zararli-dosya-rankform-vaka-analizi","status":"publish","type":"post","link":"https:\/\/tuncersen.com.tr\/blog\/wordpress-zararli-dosya-rankform-vaka-analizi.html","title":{"rendered":"WordPress Zararl\u0131 Dosya Tespiti: rankform.php Vaka Analizi"},"content":{"rendered":"<p><strong>WordPress zararl\u0131 dosya<\/strong> uyar\u0131s\u0131 ald\u0131\u011f\u0131n\u0131zda ilk refleksiniz dosyay\u0131 hemen silmek olabilir. Ancak \u00f6zellikle canl\u0131 ve kurumsal bir WordPress sisteminde bu yakla\u015f\u0131m yeni sorunlara yol a\u00e7abilir. Bir g\u00fcvenlik arac\u0131n\u0131n bir dosyay\u0131 \u015f\u00fcpheli olarak i\u015faretlemesi \u00f6nemli bir bulgudur; fakat dosyan\u0131n ne oldu\u011funu anlamadan silmek her zaman do\u011fru \u00e7\u00f6z\u00fcm de\u011fildir.<\/p>\n<p>Yak\u0131n zamanda y\u00f6netti\u011fim kurumsal bir WordPress altyap\u0131s\u0131nda tam olarak b\u00f6yle bir olay ya\u015fad\u0131m. Wordfence taramas\u0131nda farkl\u0131 konumlarda \u015f\u00fcpheli PHP dosyalar\u0131 tespit edildi. Bunlardan en dikkat \u00e7ekeni, Rank Math eklentisinin dizinlerinden birinde bulunan <strong>rankform.php<\/strong> dosyas\u0131yd\u0131.<\/p>\n<p>Bu yaz\u0131da dosyalar\u0131n i\u00e7eri\u011fini sald\u0131rganlar\u0131n yeniden kullanabilece\u011fi ayr\u0131nt\u0131larla payla\u015fmadan; uyar\u0131y\u0131 nas\u0131l de\u011ferlendirdi\u011fimi, neden dosyalar\u0131 do\u011frudan silmedi\u011fimi, nas\u0131l izole etti\u011fimi ve temizlik sonras\u0131nda sistemi nas\u0131l do\u011frulad\u0131\u011f\u0131m\u0131 ger\u00e7ek bir <strong>WordPress g\u00fcvenlik vaka analizi<\/strong> \u00fczerinden anlat\u0131yorum.<\/p>\n<p>WordPress g\u00fcvenli\u011fini daha geni\u015f kapsamda ele ald\u0131\u011f\u0131m <a href=\"\/blog\/wordpress-kurumsal-site-guvenligi.html\"><strong>WordPress Kurumsal Site G\u00fcvenli\u011fi<\/strong><\/a> yaz\u0131mda ise sunucu, WordPress, eri\u015fim kontrol\u00fc, izleme ve yedekleme katmanlar\u0131n\u0131 birlikte nas\u0131l y\u00f6netti\u011fimi anlat\u0131yorum.<\/p>\n<h2>Vaka \u00d6zeti: WordPress Zararl\u0131 Dosya Uyar\u0131s\u0131 Nas\u0131l Ba\u015flad\u0131?<\/h2>\n<ul>\n<li><strong>\u0130lk bulgu:<\/strong> G\u00fcvenlik taramas\u0131nda birden fazla \u015f\u00fcpheli PHP dosyas\u0131 tespit edildi.<\/li>\n<li><strong>Dikkat \u00e7eken dosya:<\/strong> Rank Math eklentisinin alt dizinlerinden birinde <code>rankform.php<\/code> adl\u0131 beklenmeyen bir dosya bulunuyordu.<\/li>\n<li><strong>Teknik g\u00f6sterge:<\/strong> Dosya i\u00e7erisinde gizlenmi\u015f\/obfuscate edilmi\u015f PHP kodunun \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na y\u00f6nelik \u015f\u00fcpheli bir yap\u0131 tespit edildi.<\/li>\n<li><strong>Ek bulgular:<\/strong> Eklenti, tema ve uploads gibi farkl\u0131 alanlarda ba\u015fka \u015f\u00fcpheli PHP dosyalar\u0131 da raporland\u0131.<\/li>\n<li><strong>\u0130lk m\u00fcdahale:<\/strong> \u015e\u00fcpheli dosyalar do\u011frudan silinmek yerine \u00e7al\u0131\u015fmalar\u0131 engellenecek \u015fekilde izole edildi.<\/li>\n<li><strong>Do\u011frulama:<\/strong> Ana site ve ba\u011fl\u0131 WordPress siteleri kontrol edildi, ard\u0131ndan g\u00fcvenlik taramas\u0131 tekrarland\u0131.<\/li>\n<\/ul>\n<h2>rankform.php Neden Dikkatimi \u00c7ekti?<\/h2>\n<p>Bir dosyan\u0131n yaln\u0131zca ad\u0131ndan zararl\u0131 olup olmad\u0131\u011f\u0131n\u0131 anlayamay\u0131z. <code>rankform.php<\/code> ad\u0131n\u0131n Rank Math&#8217;a benzemesi de dosyan\u0131n ger\u00e7ekten Rank Math taraf\u0131ndan olu\u015fturuldu\u011funu kan\u0131tlamaz.<\/p>\n<p>Benim dikkatimi \u00e7eken as\u0131l nokta dosyan\u0131n ad\u0131 de\u011fil, <strong>bulundu\u011fu konum ile i\u00e7erisindeki kod yap\u0131s\u0131n\u0131n birlikte de\u011ferlendirilmesiydi.<\/strong><\/p>\n<p>Wordfence dosya i\u00e7erisinde a\u015fa\u011f\u0131daki yap\u0131ya benzeyen bir e\u015fle\u015fme raporluyordu:<\/p>\n<pre><code>eval(...)\r\ngzinflate(...)\r\nhtmlspecialchars_decode(...)<\/code><\/pre>\n<p>Bu fonksiyonlar\u0131n tek ba\u015f\u0131na bulunmas\u0131 bir PHP dosyas\u0131n\u0131n kesin olarak zararl\u0131 oldu\u011funu kan\u0131tlamaz. Me\u015fru yaz\u0131l\u0131mlarda da farkl\u0131 teknik ama\u00e7larla benzer fonksiyonlar kullan\u0131labilir.<\/p>\n<p>Ancak beklenmeyen bir PHP dosyas\u0131nda kodun okunmas\u0131n\u0131 zorla\u015ft\u0131ran obfuscation teknikleriyle birlikte dinamik kod \u00e7al\u0131\u015ft\u0131rma yap\u0131lar\u0131n\u0131n g\u00f6r\u00fclmesi ciddi bi\u00e7imde ara\u015ft\u0131r\u0131lmas\u0131 gereken bir g\u00fcvenlik g\u00f6stergesidir.<\/p>\n<p>Bu nedenle <code>rankform.php<\/code> dosyas\u0131n\u0131 yaln\u0131zca \u201cWordfence vir\u00fcs dedi\u201d diye de\u011fil; <strong>dosyan\u0131n beklenmeyen varl\u0131\u011f\u0131, konumu ve i\u00e7erik \u00f6zelliklerini birlikte de\u011ferlendirerek<\/strong> \u015f\u00fcpheli kabul ettim.<\/p>\n<h2>Tek Bir Dosya De\u011fildi: As\u0131l \u00d6nemli Bulguyu Burada G\u00f6rd\u00fcm<\/h2>\n<p>\u0130lk dosyay\u0131 incelemek \u00f6nemliydi ancak g\u00fcvenlik olay\u0131n\u0131n yaln\u0131zca <code>rankform.php<\/code> ile s\u0131n\u0131rl\u0131 oldu\u011funu varsaymak istemedim.<\/p>\n<p>Tarama sonu\u00e7lar\u0131nda farkl\u0131 WordPress bile\u015fenlerinde ba\u015fka \u015f\u00fcpheli PHP dosyalar\u0131 da bulunuyordu. Baz\u0131lar\u0131 eklenti dizinlerinde, baz\u0131lar\u0131 tema bile\u015fenlerinin i\u00e7erisinde, baz\u0131lar\u0131 ise normalde PHP dosyas\u0131 g\u00f6rmeyi beklemeyece\u011fim y\u00fckleme alanlar\u0131nda tespit edilmi\u015fti.<\/p>\n<p>Bu noktada olay benim i\u00e7in \u201ctek bir bozuk eklenti dosyas\u0131\u201d olmaktan \u00e7\u0131kt\u0131.<\/p>\n<blockquote>\n<p><strong>Birbirinden farkl\u0131 dizinlerde beklenmeyen PHP dosyalar\u0131 bulunuyorsa, yaln\u0131zca ilk bulunan dosyay\u0131 temizlemek yerine sistemin tamam\u0131n\u0131 olay kapsam\u0131nda de\u011ferlendirmek gerekir.<\/strong><\/p>\n<\/blockquote>\n<h2>\u015e\u00fcpheli Dosyalar\u0131 Neden Hemen Silmedim?<\/h2>\n<p>Canl\u0131 sistemlerde \u015f\u00fcpheli bir dosyay\u0131 do\u011frudan silmek her zaman ilk tercihim de\u011fildir.<\/p>\n<ul>\n<li>Dosyan\u0131n daha sonra incelenmesi gerekebilir.<\/li>\n<li>Yanl\u0131\u015f pozitif ihtimali tamamen d\u0131\u015flanmam\u0131\u015f olabilir.<\/li>\n<li>Dosyan\u0131n hangi bile\u015fenle ili\u015fkili oldu\u011funu anlamak gerekebilir.<\/li>\n<li>Silme i\u015fleminden sonra sistem davran\u0131\u015f\u0131ndaki de\u011fi\u015fikli\u011fi kar\u015f\u0131la\u015ft\u0131rmak zorla\u015fabilir.<\/li>\n<\/ul>\n<p>Wordfence&#8217;in kendi dok\u00fcmantasyonu da tarama sonu\u00e7lar\u0131n\u0131n incelenmesini, yanl\u0131\u015f pozitif ihtimalinin de\u011ferlendirilmesini ve \u00f6zellikle silme\/onar\u0131m i\u015flemlerinden \u00f6nce dosyan\u0131n yede\u011finin al\u0131nmas\u0131n\u0131 \u00f6neriyor.<\/p>\n<p>Bu vakada \u015f\u00fcpheli dosyalar\u0131n bir kopyas\u0131n\u0131 g\u00fcvenli bi\u00e7imde saklad\u0131ktan sonra, web sunucusu taraf\u0131ndan PHP olarak \u00e7al\u0131\u015ft\u0131r\u0131lmalar\u0131n\u0131 engellemek amac\u0131yla dosyalar\u0131 <strong><code>.disabled<\/code><\/strong> uzant\u0131s\u0131yla yeniden adland\u0131rarak izole ettim.<\/p>\n<p>Bu y\u00f6ntem her g\u00fcvenlik olay\u0131nda uygulanmas\u0131 gereken evrensel bir re\u00e7ete de\u011fildir. Ancak bu vakada dosyan\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 durdururken inceleme materyalini korumam\u0131 sa\u011flad\u0131.<\/p>\n<h2>WordPress Zararl\u0131 Dosya \u0130ncelemesinde \u0130zledi\u011fim S\u00fcre\u00e7<\/h2>\n<h3>1. \u00d6nce Yedek ve Kan\u0131tlar\u0131 Korudum<\/h3>\n<p>De\u011fi\u015fiklik yapmadan \u00f6nce mevcut yedeklerin durumunu kontrol ettim ve \u015f\u00fcpheli dosyalar\u0131n inceleme i\u00e7in kopyalar\u0131n\u0131 saklad\u0131m.<\/p>\n<p>Bir g\u00fcvenlik olay\u0131nda yaln\u0131zca sistemi aya\u011fa kald\u0131rmak de\u011fil, ne oldu\u011funu anlayabilmek de \u00f6nemlidir.<\/p>\n<h3>2. Dosyan\u0131n Ger\u00e7ekten O Dizine Ait Olup Olmad\u0131\u011f\u0131n\u0131 Sorgulad\u0131m<\/h3>\n<p>Bir eklenti klas\u00f6r\u00fcnde bulunan her dosya o eklentiye ait de\u011fildir.<\/p>\n<p>Bu nedenle dosyan\u0131n:<\/p>\n<ul>\n<li>normal paket i\u00e7erisinde bulunup bulunmad\u0131\u011f\u0131n\u0131,<\/li>\n<li>dosya ad\u0131n\u0131n bile\u015fenin yap\u0131s\u0131yla uyumlu olup olmad\u0131\u011f\u0131n\u0131,<\/li>\n<li>beklenmeyen PHP kodu i\u00e7erip i\u00e7ermedi\u011fini,<\/li>\n<li>g\u00fcvenlik taramas\u0131n\u0131n hangi nedenle alarm verdi\u011fini<\/li>\n<\/ul>\n<p>birlikte de\u011ferlendirdim.<\/p>\n<h3>3. \u015e\u00fcpheli Dosyalar\u0131 \u0130zole Ettim<\/h3>\n<p>\u0130nceleme sonucunda \u015f\u00fcpheli kabul etti\u011fim dosyalar\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 durdurdum. Bu a\u015famada do\u011frudan toplu silme yapmak yerine kontroll\u00fc ilerledim.<\/p>\n<p>Her de\u011fi\u015fiklikten sonra sistemin \u00e7al\u0131\u015fmaya devam edip etmedi\u011fini kontrol ettim.<\/p>\n<h3>4. Tekrar G\u00fcvenlik Taramas\u0131 Yapt\u0131m<\/h3>\n<p>\u0130lk bulunan dosyalar\u0131 izole etmek i\u015flemin bitti\u011fi anlam\u0131na gelmiyordu.<\/p>\n<p>Wordfence taramas\u0131n\u0131 tekrar \u00e7al\u0131\u015ft\u0131rarak:<\/p>\n<ul>\n<li>ba\u015fka \u015f\u00fcpheli dosya bulunup bulunmad\u0131\u011f\u0131n\u0131,<\/li>\n<li>de\u011fi\u015ftirilmi\u015f WordPress dosyalar\u0131n\u0131,<\/li>\n<li>tema ve eklenti dizinlerindeki beklenmeyen de\u011fi\u015fiklikleri,<\/li>\n<li>uploads gibi kullan\u0131c\u0131 i\u00e7eri\u011fi bar\u0131nd\u0131ran alanlardaki PHP dosyalar\u0131n\u0131<\/li>\n<\/ul>\n<p>yeniden kontrol ettim.<\/p>\n<p>Wordfence&#8217;in resmi tarama dok\u00fcmantasyonunda da WordPress \u00e7ekirdek dosyalar\u0131n\u0131n, eklenti ve tema dosyalar\u0131n\u0131n bilinen s\u00fcr\u00fcmlerle kar\u015f\u0131la\u015ft\u0131r\u0131lmas\u0131 ve \u015f\u00fcpheli kod kal\u0131plar\u0131n\u0131n taranmas\u0131 gibi kontroller yer al\u0131yor.<\/p>\n<h3>5. Sitelerin \u00c7al\u0131\u015fmas\u0131n\u0131 Do\u011frulad\u0131m<\/h3>\n<p>G\u00fcvenlik temizli\u011finin ba\u015far\u0131l\u0131 olmas\u0131 yaln\u0131zca tarama ekran\u0131nda daha az uyar\u0131 g\u00f6rmek de\u011fildir.<\/p>\n<p>Yapt\u0131\u011f\u0131m de\u011fi\u015fikliklerden sonra ana siteyi ve ba\u011fl\u0131 WordPress sitelerini tek tek kontrol ettim. Sayfalar\u0131n a\u00e7\u0131lmas\u0131, y\u00f6netim alan\u0131na eri\u015fim ve temel fonksiyonlar\u0131n \u00e7al\u0131\u015fmas\u0131 do\u011fruland\u0131.<\/p>\n<p>Bu kontrol \u00f6zellikle \u00e7oklu WordPress yap\u0131lar\u0131nda \u00f6nemliydi; bir dosyay\u0131 kald\u0131r\u0131rken ba\u015fka bir sitenin ihtiya\u00e7 duydu\u011fu bile\u015feni yanl\u0131\u015fl\u0131kla etkileyebilirdim.<\/p>\n<h2>Uploads Klas\u00f6r\u00fcnde PHP Dosyas\u0131 Neden Dikkat Gerektirir?<\/h2>\n<p>WordPress&#8217;in <code>uploads<\/code> dizini esas olarak medya dosyalar\u0131n\u0131n sakland\u0131\u011f\u0131 aland\u0131r. Bu nedenle burada beklenmeyen \u00e7al\u0131\u015ft\u0131r\u0131labilir PHP dosyalar\u0131 g\u00f6rmek benim i\u00e7in ayr\u0131ca ara\u015ft\u0131r\u0131lmas\u0131 gereken bir durumdur.<\/p>\n<blockquote>\n<p><strong>\u201cUploads i\u00e7inde PHP var = kesin zararl\u0131\u201d \u015feklinde otomatik karar vermek yerine dosyan\u0131n kayna\u011f\u0131 ve i\u00e7eri\u011fi incelenmelidir.<\/strong><\/p>\n<\/blockquote>\n<p>Buna ra\u011fmen ihtiya\u00e7 olmad\u0131\u011f\u0131 halde y\u00fckleme dizinlerinde \u00e7al\u0131\u015ft\u0131r\u0131labilir PHP bulunmas\u0131 g\u00fcvenlik a\u00e7\u0131s\u0131ndan ayr\u0131ca de\u011ferlendirilmelidir.<\/p>\n<h2>Bu Vakada Yapmad\u0131\u011f\u0131m \u015eeyler<\/h2>\n<p>G\u00fcvenlik olaylar\u0131nda yap\u0131lan baz\u0131 h\u0131zl\u0131 m\u00fcdahaleler problemi \u00e7\u00f6zmek yerine kan\u0131tlar\u0131 yok edebilir veya sistemi bozabilir.<\/p>\n<ul>\n<li>Wordfence&#8217;in i\u015faretledi\u011fi her dosyay\u0131 d\u00fc\u015f\u00fcnmeden silmedim.<\/li>\n<li>Yaln\u0131zca dosya ad\u0131na bakarak zararl\u0131 oldu\u011funa karar vermedim.<\/li>\n<li>T\u00fcm eklentileri rastgele kald\u0131rmad\u0131m.<\/li>\n<li>Canl\u0131 sistemde kontrols\u00fcz kod de\u011fi\u015fiklikleri yapmad\u0131m.<\/li>\n<li>\u0130lk temiz taramay\u0131 g\u00f6rd\u00fckten sonra olay\u0131n tamamen bitti\u011fini varsaymad\u0131m.<\/li>\n<\/ul>\n<h2>Bir WordPress Sitesinde \u015e\u00fcpheli PHP Dosyas\u0131 Bulursan\u0131z Ne Yapmal\u0131s\u0131n\u0131z?<\/h2>\n<p>Benzer bir durumda genel kontrol s\u0131ram \u015fu \u015fekilde:<\/p>\n<ol>\n<li><strong>Panikle silme yapmay\u0131n.<\/strong> \u00d6nce dosyan\u0131n konumunu ve g\u00fcvenlik arac\u0131n\u0131n neden alarm verdi\u011fini inceleyin.<\/li>\n<li><strong>G\u00fcncel yede\u011fi kontrol edin.<\/strong> M\u00fcdahale \u00f6ncesi geri d\u00f6n\u00fc\u015f imkan\u0131n\u0131z olsun.<\/li>\n<li><strong>Dosyan\u0131n kayna\u011f\u0131n\u0131 do\u011frulay\u0131n.<\/strong> Resmi WordPress \u00e7ekirde\u011fi, tema veya eklenti paketinde bulunmas\u0131 gereken bir dosya m\u0131 kontrol edin.<\/li>\n<li><strong>Dosya i\u00e7eri\u011fini g\u00fcvenli bi\u00e7imde inceleyin.<\/strong> Beklenmeyen veya gizlenmi\u015f kod yap\u0131lar\u0131n\u0131n bulunup bulunmad\u0131\u011f\u0131n\u0131 de\u011ferlendirin.<\/li>\n<li><strong>\u015e\u00fcpheli bile\u015feni kontroll\u00fc bi\u00e7imde izole edin.<\/strong> Canl\u0131 sistemde rastgele toplu silme yapmay\u0131n.<\/li>\n<li><strong>T\u00fcm sistemi yeniden taray\u0131n.<\/strong> Tek bir dosya bulmak olay\u0131n yaln\u0131zca o dosyayla s\u0131n\u0131rl\u0131 oldu\u011funu g\u00f6stermez.<\/li>\n<li><strong>WordPress, tema ve eklentileri kontrol edin.<\/strong> De\u011fi\u015ftirilmi\u015f veya kayna\u011f\u0131 do\u011frulanamayan bile\u015fenleri g\u00fcvenilir paketlerle kar\u015f\u0131la\u015ft\u0131r\u0131n.<\/li>\n<li><strong>Y\u00f6netici hesaplar\u0131n\u0131 inceleyin.<\/strong> Tan\u0131mad\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131 veya yetki de\u011fi\u015fikli\u011fi olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<li><strong>Kritik eri\u015fimleri g\u00f6zden ge\u00e7irin.<\/strong> Olay\u0131n kapsam\u0131na g\u00f6re y\u00f6netici ve sunucu eri\u015fim bilgilerinin yenilenmesi gerekebilir.<\/li>\n<li><strong>Temizlik sonras\u0131 tekrar do\u011frulay\u0131n.<\/strong> Tarama sonu\u00e7lar\u0131 kadar sitenin ger\u00e7ek davran\u0131\u015f\u0131n\u0131 ve loglar\u0131 da takip edin.<\/li>\n<\/ol>\n<p>WordPress&#8217;in resmi <strong>Hardening WordPress<\/strong> dok\u00fcmantasyonu da g\u00fcncellemeler, parolalar, dosya izinleri, eklentiler, yedekleme, loglama ve izleme gibi g\u00fcvenlik katmanlar\u0131n\u0131n birlikte de\u011ferlendirilmesini \u00f6neriyor.<\/p>\n<h2>Wordfence Uyar\u0131s\u0131 Her Zaman Zararl\u0131 Yaz\u0131l\u0131m Anlam\u0131na Gelir mi?<\/h2>\n<p><strong>Hay\u0131r.<\/strong><\/p>\n<p>G\u00fcvenlik taray\u0131c\u0131lar\u0131 bilinen zararl\u0131 kod kal\u0131plar\u0131, de\u011fi\u015ftirilmi\u015f dosyalar veya \u015f\u00fcpheli fonksiyon kombinasyonlar\u0131 gibi bir\u00e7ok g\u00f6stergeyi kullan\u0131r. Bu sistemler de\u011ferlidir ancak baz\u0131 durumlarda me\u015fru kodlar da inceleme gerektiren uyar\u0131lar olu\u015fturabilir.<\/p>\n<p>Wordfence de kendi dok\u00fcmantasyonunda baz\u0131 tarama sonu\u00e7lar\u0131n\u0131n yanl\u0131\u015f pozitif olabilece\u011fini ve dosyan\u0131n i\u00e7eri\u011finin incelenmesi gerekti\u011fini belirtiyor.<\/p>\n<blockquote>\n<p><strong>Uyar\u0131y\u0131 g\u00f6rmezden gelme, fakat uyar\u0131y\u0131 tek ba\u015f\u0131na kesin h\u00fck\u00fcm olarak da kabul etme.<\/strong><\/p>\n<\/blockquote>\n<p>Dosyan\u0131n konumu, kayna\u011f\u0131, i\u00e7eri\u011fi ve sistemdeki di\u011fer bulgular birlikte de\u011ferlendirilmelidir.<\/p>\n<h2>Bu G\u00fcvenlik Vakas\u0131ndan \u00c7\u0131kard\u0131\u011f\u0131m Sonu\u00e7<\/h2>\n<p>Bu olay bana bir kez daha WordPress g\u00fcvenli\u011finin yaln\u0131zca bir g\u00fcvenlik eklentisi kurup tarama sonucunu beklemekten ibaret olmad\u0131\u011f\u0131n\u0131 g\u00f6sterdi.<\/p>\n<p>Wordfence ilk uyar\u0131y\u0131 verdi ancak as\u0131l te\u015fhis bundan sonra ba\u015flad\u0131. Dosyalar\u0131n ger\u00e7ekten ilgili bile\u015fenlere ait olup olmad\u0131\u011f\u0131n\u0131 kontrol ettim, \u015f\u00fcpheli dosyalar\u0131 do\u011frudan silmek yerine kontroll\u00fc bi\u00e7imde izole ettim, sistemi yeniden tarad\u0131m ve yapt\u0131\u011f\u0131m de\u011fi\u015fikliklerden sonra sitelerin \u00e7al\u0131\u015fmas\u0131n\u0131 tek tek do\u011frulad\u0131m.<\/p>\n<p>Benim bu vakada izledi\u011fim s\u00fcreci k\u0131saca \u015f\u00f6yle \u00f6zetleyebilirim:<\/p>\n<blockquote>\n<p><strong>Tespit \u2192 Analiz \u2192 \u0130zolasyon \u2192 Yeniden Tarama \u2192 Do\u011frulama \u2192 \u0130zleme<\/strong><\/p>\n<\/blockquote>\n<p>\u00d6zellikle farkl\u0131 dizinlerde birden fazla \u015f\u00fcpheli dosya bulundu\u011funda yaln\u0131zca ilk dosyay\u0131 temizleyip i\u015flemi bitmi\u015f saymamak gerekiyor. B\u00f6yle bir durumda olay\u0131n kapsam\u0131n\u0131 anlamaya \u00e7al\u0131\u015fmak, WordPress \u00e7ekirde\u011fini, tema ve eklentileri kontrol etmek ve temizlik sonras\u0131nda sistemi izlemeye devam etmek daha sa\u011fl\u0131kl\u0131 bir yakla\u015f\u0131m.<\/p>\n<p>Bu vakadaki <code>rankform.php<\/code> dosyas\u0131n\u0131 da yaln\u0131zca ad\u0131 veya Wordfence uyar\u0131s\u0131 nedeniyle \u015f\u00fcpheli kabul etmedim. Dosyan\u0131n beklenmeyen konumu, i\u00e7erisindeki kod yap\u0131s\u0131 ve sistemde bulunan di\u011fer \u015f\u00fcpheli dosyalar birlikte de\u011ferlendirildi.<\/p>\n<p>Sonu\u00e7 olarak g\u00fcvenlik arac\u0131n\u0131n g\u00f6revi bana \u00f6nemli bir sinyal vermekti. Dosyan\u0131n ger\u00e7ekten ne oldu\u011funu anlamak ve do\u011fru m\u00fcdahaleyi yapmak ise ayr\u0131ca teknik inceleme gerektirdi.<\/p>\n<h2>WordPress Zararl\u0131 Dosya Hakk\u0131nda S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<details class=\"cab-faq\" name=\"cab-faq-group\" open><summary>rankform.php dosyas\u0131 zararl\u0131 m\u0131?<\/summary><div class=\"cab-faq-content\"><p>\nBir dosyan\u0131n yaln\u0131zca ad\u0131na bakarak zararl\u0131 oldu\u011funu s\u00f6ylemek do\u011fru de\u011fildir. Benim inceledi\u011fim vakada rankform.php beklenmeyen bir konumda bulunuyordu ve g\u00fcvenlik taramas\u0131nda kod gizleme ve dinamik kod \u00e7al\u0131\u015ft\u0131rmaya ili\u015fkin \u015f\u00fcpheli yap\u0131lar nedeniyle i\u015faretlenmi\u015fti. Dosyan\u0131n konumu, i\u00e7eri\u011fi ve sistemdeki di\u011fer g\u00fcvenlik bulgular\u0131 birlikte de\u011ferlendirilmelidir.<\/p>\n<\/div><\/details>\n<details class=\"cab-faq\" name=\"cab-faq-group\"><summary>Wordfence zararl\u0131 dosya uyar\u0131s\u0131 verirse dosyay\u0131 hemen silmeli miyim?<\/summary><div class=\"cab-faq-content\"><p>\nHer durumda de\u011fil. \u00d6nce dosyan\u0131n kayna\u011f\u0131n\u0131, bulundu\u011fu konumu ve Wordfence&#8217;in neden uyar\u0131 verdi\u011fini incelemek daha g\u00fcvenlidir. \u00d6zellikle canl\u0131 sistemlerde yanl\u0131\u015f bir dosyan\u0131n silinmesi sitenin \u00e7al\u0131\u015fmas\u0131n\u0131 etkileyebilir. M\u00fcdahale \u00f6ncesinde g\u00fcncel ve geri y\u00fcklenebilir bir yedek bulunmas\u0131 \u00f6nemlidir.<\/p>\n<\/div><\/details>\n<details class=\"cab-faq\" name=\"cab-faq-group\"><summary>eval ve gzinflate kullan\u0131lan PHP dosyalar\u0131 kesin zararl\u0131 m\u0131d\u0131r?<\/summary><div class=\"cab-faq-content\"><p>\nHay\u0131r. Bu PHP fonksiyonlar\u0131n\u0131n bulunmas\u0131 tek ba\u015f\u0131na zararl\u0131 yaz\u0131l\u0131m kan\u0131t\u0131 de\u011fildir. Ancak beklenmeyen bir dosyada kodu gizlemeye y\u00f6nelik yap\u0131lar ve dinamik kod \u00e7al\u0131\u015ft\u0131rma y\u00f6ntemleriyle birlikte g\u00f6r\u00fclmeleri ayr\u0131nt\u0131l\u0131 inceleme gerektiren bir g\u00fcvenlik g\u00f6stergesi olabilir.<\/p>\n<\/div><\/details>\n<details class=\"cab-faq\" name=\"cab-faq-group\"><summary>WordPress uploads klas\u00f6r\u00fcnde PHP dosyas\u0131 bulunmas\u0131 normal mi?<\/summary><div class=\"cab-faq-content\"><p>\nWordPress uploads dizini esas olarak g\u00f6rsel, video ve di\u011fer medya dosyalar\u0131n\u0131n saklanmas\u0131 i\u00e7in kullan\u0131l\u0131r. Bu nedenle burada beklenmeyen \u00e7al\u0131\u015ft\u0131r\u0131labilir PHP dosyalar\u0131n\u0131n bulunmas\u0131 ayr\u0131ca incelenmelidir. Ancak yaln\u0131zca dosyan\u0131n bulundu\u011fu klas\u00f6re bakarak kesin zararl\u0131 oldu\u011fu sonucuna var\u0131lmamal\u0131d\u0131r.<\/p>\n<\/div><\/details>\n<details class=\"cab-faq\" name=\"cab-faq-group\"><summary>\u015e\u00fcpheli WordPress dosyas\u0131n\u0131 silmek yerine neden izole ettiniz?<\/summary><div class=\"cab-faq-content\"><p>\nBu vakada \u015f\u00fcpheli dosyalar\u0131 do\u011frudan silmek yerine \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyecek \u015fekilde izole etmek, hem olas\u0131 zararl\u0131 kodun \u00e7al\u0131\u015fmas\u0131n\u0131 durdurmam\u0131 hem de dosyay\u0131 daha sonra inceleyebilmemi sa\u011flad\u0131. Bu y\u00f6ntem her g\u00fcvenlik olay\u0131nda uygulanmas\u0131 gereken evrensel bir \u00e7\u00f6z\u00fcm de\u011fildir.<\/p>\n<\/div><\/details>\n<details class=\"cab-faq\" name=\"cab-faq-group\"><summary>WordPress zararl\u0131 dosya temizli\u011finden sonra ne yap\u0131lmal\u0131?<\/summary><div class=\"cab-faq-content\"><p>\nSistem yeniden taranmal\u0131, WordPress \u00e7ekirde\u011fi, tema ve eklentiler kontrol edilmeli, y\u00f6netici hesaplar\u0131 ve kritik eri\u015fimler g\u00f6zden ge\u00e7irilmeli ve sitenin temel fonksiyonlar\u0131 test edilmelidir. Olay\u0131n kapsam\u0131na g\u00f6re eri\u015fim bilgilerinin yenilenmesi de gerekebilir. Temizlik sonras\u0131nda g\u00fcvenlik uyar\u0131lar\u0131 ve sunucu kay\u0131tlar\u0131 izlenmeye devam edilmelidir.<\/p>\n<\/div><\/details>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_1589\" class=\"pvc_stats all  \" data-element-id=\"1589\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewBox=\"0 0 502 315\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/tuncersen.com.tr\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress zararl\u0131 dosya uyar\u0131s\u0131 ald\u0131\u011f\u0131n\u0131zda ilk refleksiniz dosyay\u0131 hemen silmek olabilir. Ancak \u00f6zellikle canl\u0131 ve kurumsal bir WordPress sisteminde bu yakla\u015f\u0131m yeni sorunlara yol a\u00e7abilir. Bir g\u00fcvenlik arac\u0131n\u0131n bir dosyay\u0131 \u015f\u00fcpheli olarak i\u015faretlemesi \u00f6nemli bir bulgudur; fakat dosyan\u0131n ne oldu\u011funu anlamadan silmek her zaman do\u011fru \u00e7\u00f6z\u00fcm de\u011fildir. Yak\u0131n zamanda y\u00f6netti\u011fim kurumsal bir WordPress altyap\u0131s\u0131nda tam &#8230; <a title=\"WordPress Zararl\u0131 Dosya Tespiti: rankform.php Vaka Analizi\" class=\"read-more\" href=\"https:\/\/tuncersen.com.tr\/blog\/wordpress-zararli-dosya-rankform-vaka-analizi.html\" aria-label=\"WordPress Zararl\u0131 Dosya Tespiti: rankform.php Vaka Analizi hakk\u0131nda daha fazlas\u0131n\u0131 okuyun\">Devam\u0131n\u0131 oku<\/a><\/p>\n","protected":false},"author":1,"featured_media":1590,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-1589","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guvenlik"],"a3_pvc":{"activated":true,"total_views":12,"today_views":0},"_links":{"self":[{"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=1589"}],"version-history":[{"count":0,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1589\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/media\/1590"}],"wp:attachment":[{"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=1589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=1589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tuncersen.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=1589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}