lostyazilim
tr.link

.htaccess virüsü hk yardım

7 Mesajlar 1.752 Okunma
acebozum
tr.link

caneraltinel caneraltinel WM Aracı Kullanıcı
  • Üyelik 30.10.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Girişimci & Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 252
  • Beğeniler 33 / 35
  • Ticaret 26, (%100)

arkadaşlar sunucuma bir şey sataştı, şey diyorum çünkü daha önce başıma gelmediği için ne olduğunu çözemedim.

sitelerin içine sürekli .htaccess index.php ve about.php dosyalarını değiştiriyor. sitede herhangi bir yere girmeye çalıştığımda japonca yazılar çıkıyor. dosyaları silip temiz yedekten geri yüklüyorum ama bir kaç saniye sonra tekrar oluyor. bazen 1 2 gün sonra oluyor. işin içinden çıkamadım hesap şifrelerini her şeyi değiştirdim tüm dosyaları olabildiğince gözden geçirdim ama çözemedim.

.htaccess kodu aşağıdaki  gibi değişiyor ve sürekli sunucumun dosya kullanımı artıyor. Godaddy ile görüştüğümde yapabilecekleri bir şey olmadığını sıfırlama yapabileceğimi söyledi ancak sıfırlama yapmam şuan için mümkün değil.

daha önce başına gelen varsa veya çözümünü bilen varsa yardımcı olursa sevinirim. teşekkürler

<FilesMatch ".(py|exe|php)$">
 Order allow,deny
 Deny from all
</FilesMatch>
<FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php|wp-l0gin.php|wp-theme.php|wp-scripts.php|wp-editor.php)$">
 Order allow,deny
 Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 

 

elektronikssl
webimgo

wmgtasarim wmgtasarim wmg.com.tr Banlı Kullanıcı
  • Üyelik 01.01.2020
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım | Web Tasarım
  • Konum Tekirdağ
  • Ad Soyad A** Ö**
  • Mesajlar 1893
  • Beğeniler 545 / 550
  • Ticaret 8, (%100)

Functions dosyasına bak

 

 

caneraltinel caneraltinel WM Aracı Kullanıcı
  • Üyelik 30.10.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Girişimci & Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 252
  • Beğeniler 33 / 35
  • Ticaret 26, (%100)

wmgtasarim adlı üyeden alıntı

Functions dosyasına bak

 wordpress kullanmıyorum. tüm dosyaları tek tek kontrol ettim. komple silip ilk sürümdeki temiz kopyaları yükledim ama bir şekilde yine geliyor. 5 6 saattir bir durum yok. ama maksimum 2 gün sonra yine oluyor

 

 

wmgtasarim wmgtasarim wmg.com.tr Banlı Kullanıcı
  • Üyelik 01.01.2020
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım | Web Tasarım
  • Konum Tekirdağ
  • Ad Soyad A** Ö**
  • Mesajlar 1893
  • Beğeniler 545 / 550
  • Ticaret 8, (%100)

scripti kontrol etmem gerek böyle birşey diyemem

 

 

wmaraci
wmaraci

romitet romitet Creative's Kullanıcı
  • Üyelik 19.04.2022
  • Yaş/Cinsiyet 45 / E
  • Meslek Dijital Pazarlama & Web Geliştirici
  • Konum Bursa
  • Ad Soyad G** T**
  • Mesajlar 9
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)

Veri tabanınızı inceleyin derim, hele ki şüpheli tablo görürseniz üzerinde özellikle durun. Db sürümü eski versiyonlardan sızılabiliyor maaalesef.

 

 

bytokca bytokca WM Aracı Kimlik Onayı
  • Üyelik 29.11.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım
  • Konum Konya
  • Ad Soyad H** T**
  • Mesajlar 48
  • Beğeniler 1 / 26
  • Ticaret 1, (%100)

Güncellenmeyen ve korumasız sayfalara bulaşıyor. %90 formlardan geliyor. %10 dosya izinlerini yanlış ayarlamaktan.

Sitenize bırakılan index.php muhtemelen şifreli, radio.php dosyasının içinde form var. O form üzerinden sunucuna dosya gönderiyor.

  1. .htaccess dosyanı Dosya izinlerinden (444) olarak güncelle.
  2. Varsayılan dosyan index.php default.php gibiyse değiştir. 
  3. PHP sürümünü güncelle (8.0 tavsiye)
  4. Bütün klasörleri temizle veya sunucuyu sil ve temiz yedeğini tekrar yükle.
  5. Mutlaka SEFLINK kullan.

.htaccess içerisine eklemen gereken kodlar.

#404 hatalarını mutlaka yönlendir. 404 sayfan yoksa ana sayfaya yönlendir.
ErrorDocument 404  https://domainadi.com/404  

RewriteEngine On
Options +FollowSymLinks
Options All -Indexes #klasörlere erişimi engelle
directoryindex acilis.php # -> index.php adını değiştir.

#Gerekli korumalar
<IfModule mod_headers.c>
<if "%{HTTPS} == 'on'">
        Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
    </if>
    Header always set Content-Security-Policy "upgrade-insecure-requests"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-XSS-Protection "1; mode=block"
    Header always append X-Frame-Options SAMEORIGIN
    Header always set Expect-CT "max-age=7776000, enforce"
    Header always set Referrer-Policy: "no-referrer-when-downgrade"
    Header always set X-Permitted-Cross-Domain-Policies "none"
    Header always set Permissions-Policy "geolocation=(), midi=(),sync-xhr=(),accelerometer=(), gyroscope=(), magnetometer=(), camera=(), fullscreen=(self)"
</IfModule>

# XSS engellemek için
RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [OR]
RewriteCond %{QUERY_STRING} (\\<|<).*script.*(\\>|>) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\\[|\\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\\[|\\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ acilis.php|urunler.php [F,L] #ana dizindeki php dosyalarının isimlerini yaz

# bu uzantılı dosyaları engelle. Eğer sayfan çalışmazsa php uzantısını kaldırabilirsin.
<FilesMatch \.(pl|php3|py|exe|php)$>
Order allow,deny
Deny from all
</FilesMatch>

.htaccess dosyasını elinden geldiğince küçük tutmaya bak. çünkü sunucu ilk .htaccess içerisini okuyor bu da sayfanın açılış performansını kötü etkileyebilir.

ana dizine içi boş index.php koy ve dosya izinlerini (400) olarak güncelle. Web sayfanda form varsa mutlaka CSRF tehlikesinden koru ve mümkünse method="POST" olsun. Form içerisinde SESSION inputu oluştur sonra form değerini eşleştir ondan sonra işlem yaptır. $_GET ile gelen veri NUMERIC değilse mutlaka temizleyerek al. aşağıya clean fonksiyonu bırakacağım. Eğer NUMERIC ise filter_input fonksiyonunu kullan.

 

Sunucudaki tüm klasörlerin içine tek tek bak. about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php|wp-l0gin.php|wp-theme.php|wp-scripts.php|wp-editor.php bu isimlerde virüs varsa sil.

PHP sürümünü güncelle. Mümkünse 8.0 kullan. Değilse 7.4 olarak ayarla.

clean fonksiyonu

function clean($data) {
   $data = str_replace(array('&amp;','&lt;','&gt;'), array('&amp;amp;','&amp;lt;','&amp;gt;'), $data);
   $data = preg_replace('/(&#*\w+)[\x00-\x20]+;/u', '$1;', $data);
   $data = preg_replace('/(&#x*[0-9A-F]+);*/iu', '$1;', $data);
   $data = html_entity_decode($data, ENT_COMPAT, 'UTF-8');
   $data = preg_replace('#(<[^>]+?[\x00-\x20"\'])(?:on|xmlns)[^>]*+>#iu', '$1>', $data);
   $data = preg_replace('#([a-z]*)[\x00-\x20]*=[\x00-\x20]*([`\'"]*)[\x00-\x20]*j[\x00-\x20]*a[\x00-\x20]*v[\x00-\x20]*a[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iu', '$1=$2nojavascript...', $data);
   $data = preg_replace('#([a-z]*)[\x00-\x20]*=([\'"]*)[\x00-\x20]*v[\x00-\x20]*b[\x00-\x20]*s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:#iu', '$1=$2novbscript...', $data);
   $data = preg_replace('#([a-z]*)[\x00-\x20]*=([\'"]*)[\x00-\x20]*-moz-binding[\x00-\x20]*:#u', '$1=$2nomozbinding...', $data);
   $data = preg_replace('#(<[^>]+?)style[\x00-\x20]*=[\x00-\x20]*[`\'"]*.*?expression[\x00-\x20]*\([^>]*+>#i', '$1>', $data);
   $data = preg_replace('#(<[^>]+?)style[\x00-\x20]*=[\x00-\x20]*[`\'"]*.*?behaviour[\x00-\x20]*\([^>]*+>#i', '$1>', $data);
   $data = preg_replace('#(<[^>]+?)style[\x00-\x20]*=[\x00-\x20]*[`\'"]*.*?s[\x00-\x20]*c[\x00-\x20]*r[\x00-\x20]*i[\x00-\x20]*p[\x00-\x20]*t[\x00-\x20]*:*[^>]*+>#iu', '$1>', $data);
   $data = preg_replace('#</*\w+:\w[^>]*+>#i', '', $data);
   do {
      $old_data = $data;
      $data = preg_replace('#</*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*+>#i', '', $data);
   }
   while ($old_data !== $data);
   return $data;
}

// $gelenveri = $_POST["name"];
// echo clean($gelenveri);

 

Temelli kurtulmanın tek yolu sürüm güncelledikten sonra klasörlerini temizle, sonra bütün formları ve sayfaları $_GET ve $_POST verilerini fonksiyondan geçirmeden okutma.

Tüm işlemler bittiğinde site adresini https://www.virustotal.com/gui/home/url buraya yazarak tarama yap.

Geçmiş olsun.

Mesaj 1 defa düzenlendi. Son düzenleyen: bytokca (07.05.2022 02:51)

 

 

129926 129926 WM Aracı Anonim Üyelik
  • Üyelik 30.05.2021
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 434
  • Beğeniler 211 / 211
  • Ticaret 41, (%100)

Merhabalar. Öncelikle sunucunuzda dosyaların değiştirilme tarihlerine bakın. Hangi dosya ne zaman değişmiş? Son değişmiş dosyaları belirlerseniz nereden açık verdiğinizi anlamak kolaylaşır.  

Ardından @bytokca arkadaşın yazdıklarına geçebilirsiniz.   ( .htaccess dosyanı Dosya izinlerinden (444) olarak güncelle. )  Bunu hemen yapmanızı tavsiye ederim.

 

 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al