bu kodlar virüs mü

  • Konbuyu başlatan Konbuyu başlatan gazili
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü

gazili

Seçkin Üye
Seçkin Üye
Mesajlar
683
wordpress sitemde seohocası v3.0 kullanıyorum tema olarak.
header.php dosyasında şu kodlar var(resimde)
<?php eval diye başlayan kısım.
bunlar virüs mü acaba
bir de bu tema kullanan varmı acaba
bu temaya geçince 1 ay olmadan virüs çıktı.
temizledim ama başka bişey mi var bulamadım
Bu site bilgisayarınıza zarar verebilir uyarısı yapıyor.

virüs bulunduğu söylenen sitem
http://www.duralitekelioglu.com/
 

Ekli dosyalar

  • kodlar.jpg
    kodlar.jpg
    96.4 KB · Görüntüleme: 1,974
http://forum.ceviz.net/php/28280-php-ev ... iyonu.html adresinde sorunun cevabı var sanırım hocam...eval diğer ismiyle evil tehlikeli bir fonksiyon...metin olarak girilenleri kod olarak algılatmaya yarıyor...biraz incelersen...nasıl örnekleriz...hani şu bizim ilacları antivirüs ler virüs diye algılıyorlar ya...ama kapatıp kullanınca hayat kurtarıyorlar...onun gibi chrome da senin siteni analiz ederken eval fonksiyonunu görünce bu uyarıyı vermiş olabilir. veya gerçekten sitene virüs bulaşmış olabilir...
 
koduna baktığımda html tagının bile üstüne eklemiş bu kodu...büyük ihtimalle virüs.kodlarını temizleyip ftp sunucunu temizleyip temiz kodları tekrar gönderip, google amcana da ben sitemi temizledim bir daha kontrol et diye gerekli işlemleri yap
 
seohocasi v3.0 kullanan varmı
bana bunun zipli şeklini gönderebilir mi acaba
bir de sizin gönderdiğinizden kodları kontrol etsem
 
ben v2 kullanıyorum. İlk çıktığı zamandan beri v2 kullanıyorum hem de. Şimdiye kadar bir kere bile virüs vb. tehlike altında kalmadım. Tema dosyasında bu tarz kodlar genelde footer'daki link kontrolü için kullanılır. Çözümlemek için size önerim;

eval(str_rot13(' den sonra gelen metni taaa 5. satırdaki ')) kısmına kadar seçip kopyalayın.

http://rot13-encoder-decoder.waraxe.us/

bu siteden online çözümlemesini yapın. Çıkan sonucu da buraya yazarsanız zararlı olup olmadığı konusunda biz de yardımcı olabiliriz.
 
gazili' Alıntı:
wordpress sitemde seohocası v3.0 kullanıyorum tema olarak.
header.php dosyasında şu kodlar var(resimde)
<?php eval diye başlayan kısım.
bunlar virüs mü acaba
bir de bu tema kullanan varmı acaba
bu temaya geçince 1 ay olmadan virüs çıktı.
temizledim ama başka bişey mi var bulamadım
Bu site bilgisayarınıza zarar verebilir uyarısı yapıyor.

virüs bulunduğu söylenen sitem
http://www.duralitekelioglu.com/

hocam bu kodlar virus ilk kısımda eval ile başyalan yerdeki kısım yani yönlendirme kısmı encode edilmiş bu fonksiyon sayesinde kendini gizliyor. Google tarafından büyük ihtimal siten risk gurubuna alınmıştır.

Bu virüs index.php ve default.php isimli tüm dosyalarına bulaşır. Hepsini temizlemen gerekir
Bu şekilde bana gelen 4 sitede temizlik yapmıştım. Eğer takılırsan yardımcı olabilirim özelden mesaj atabilirsin
 
omd' Alıntı:
ben v2 kullanıyorum. İlk çıktığı zamandan beri v2 kullanıyorum hem de. Şimdiye kadar bir kere bile virüs vb. tehlike altında kalmadım. Tema dosyasında bu tarz kodlar genelde footer'daki link kontrolü için kullanılır. Çözümlemek için size önerim;

eval(str_rot13(' den sonra gelen metni taaa 5. satırdaki ')) kısmına kadar seçip kopyalayın.

http://rot13-encoder-decoder.waraxe.us/

bu siteden online çözümlemesini yapın. Çıkan sonucu da buraya yazarsanız zararlı olup olmadığı konusunda biz de yardımcı olabiliriz.

hocam dediğini yaptım
altta çıkan açıklamayı gönderiyorum

Recent searches, related to rot13 encoding algorithm: rot13,encode rot13,rot-13, decode rot13,ROT13 ascii, plaintext, ascii, Caesar code,encoding, decoding routine rot13, rot13 transform, ROT-13 codes,rot13 download, online rot13 code calculator, free php rot13 calculator, rot13 visual basic library, rot13 weaknesses, rot 13 online code, rot13 encoder download, code rot-13, rot13 algorithm, algo ROT13, rot13 checker, php str_rot13(), rot13 php function, str_rot13() php function, rot13 decrypt,ROT-13 tool, rot13 encryption bit.
 
Kod dosyandaki o kısmı komple buraya yapıştır hocam. Bir de ben deneyeyim.
 
omd' Alıntı:
Kod dosyandaki o kısmı komple buraya yapıştır hocam. Bir de ben deneyeyim.

<?php eval(str_rot13('shapgvba purpx_s_sbbgre(){vs(!(shapgvba_rkvfgf("purpx_sbbgre")&&shapgvba_rkvfgf("purpx_urnqre"))){rpub(\'Guvf gurzr vf eryrnfrq haqre perngvir pbzzbaf yvprapr, nyy yvaxf va gur sbbgre fubhyq erznva vagnpg\');qvr;}}purpx_s_sbbgre();'));eval(str_rot13('shapgvba purpx_shapgvbaf(){vs(!svyr_rkvfgf(qveanzr(__SVYR__)."/shapgvbaf.cuc")){rpub(\'Guvf gurzr vf eryrnfrq haqre perngvir pbzzbaf yvprapr, nyy yvaxf va gur sbbgre fubhyq erznva vagnpg\');qvr;}}purpx_shapgvbaf();')); ?>

burası header.php dosyasında en üstte bulunuyor bundan sonra zaten

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="tr-TR">

diye devam ediyor.

bir de şunu sorayım size
htaccess dosyasını silmiştim
internetten buldum şu kodlarla yeniden atıp gönderdim

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

başka sitelere baktığımda

# Sunucu imzasını kaldır
ServerSignature Off

# Dosya yükleme boyutunu 10mb ile sınırlandır
LimitRequestBody 10240000

# Dizin listelemeyi iptal et
Options All -Indexes

# Dosya erişimlerini engelle

<files .htaccess>
order allow,deny
deny from all
</files>

<files wp-config.php>
order allow,deny
deny from all
</files>

<files wp-load.php>
order allow,deny
deny from all
</files>

bunları en altına ekliyorum
veya içine ekliyorum
yada komple bu kodlarla oluşturup tekrar gönderiyorum
bu seferde site açılmıyor
hata veriyor
bu en son kodlar yanlışmı
beni yanlış yere ekliyorum
 
gazili' Alıntı:


Öncelikle üstteki kodları geri çevrim yaptığımızda

Kod:
function check_f_footer(){if(!(function_exists("check_footer")&&function_exists("check_header"))){echo(\'This theme is released under creative commons licence, all links in the footer should remain intact\');die;}}check_f_footer();'));riny(fge_ebg13('function check_functions(){if(!file_exists(dirname(__FILE__)."/functions.php")){echo(\'This theme is released under creative commons licence, all links in the footer should remain intact\');die;}}check_functions();

Daha önce de belirttiğim gibi temanın footterında bulunan yapımcıya ait birkaç linkin silinmemesi amacıyla oluşturulmuş kontroller olduğunu görüyoruz. Bunların en üste yerleştirilme sebebi link yoksa direk tüm süreçleri die() etmesi ve ekrana sade bir hata mesajı vermesinin istenmesi nedeniyledir.

Temanıza virüslü satırların bulaşmamasını istiyorsanız WP-Antivirus eklentisini panel aracılığı ile kurabilirsiniz. İlk tarama sonucunda bazı eval vb kodlarda uyarı verecektir. İlk sefere mahsus bunları onaylayıp devam etmelisiniz. Eklenti ayarları ile belli aralıklarla otomatik tarama yapmasını sağlayabilir ve sonradan sizin isteminiz dışında dosyalara zararlı-zararsız kodlar eklenmesi durumunda eklenti size uyarı vermesini sağlayabilirsiniz.

htaccess konusuna gelince varsayılan gelen dosyayı kurcalamanızı pek tavsiye etmiyorum. Sunucu yapılandırmasından kaynaklı sebeplerle her sunucuda aynı tepkiyi vermiyor bu kodlar. İlk gelen hali bir sorun çıkmadıkça yeterlidir.
 
Merhaba,
Konuyu hortlatmak gibi oldu ama...
Bir dostuma acil ihtiyacından dolayı ücretsiz olarak http://www.scriptciyim.net/ adresinden indirdiğim php emlak sitesi kurdum. Warez. hatta domain parası bile ödemesin diye alt domaine kurdum.
Bu konuyu şimdi okudum.
Sonra sitenin kurulmamış halini ve sql dosyasını avast ile tarattım. Bir şey çıkmadı. Daha sonra "eval" kelimesini tarattım. jawa dosyalarında bol bol adı geçiyor.
Örnek olarak "jquery.tabs.pack ve jquery.history_remote.pack" dosyalarında aşağıdaki "eval ve evalScript" ile başlayan kodlar var.
*Bunlar shell midir?
*Nasıl temizlenir?
Bir temizleme programı var mıdır?
Yardım ve bilgi vereceklere şimdiden teşekkür ederim.

eval(function(p,a,c,k,e,r){e=function(c){return(c< a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toStr ing(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('

dhtmllib dosyasında;

function getLayer(name) {
if (isMinNS4)
return findLayer(name, document);
if (ie)
return eval('document.all.' + name);
if (dom)
return document.getElementById(name);
return null;
}


ioelement dosyasında;
p.execInParent = function(fn){ // Executes javascript codes within the parent element
if(typeof(fn)=='function') eval('fn='+fn);
else eval('fn=function(){'+fn+'}');

ioelement.sync dosyasında

// get HTTP Request Object
if(!this._hReq) this._hReq=IOElement._getHttpReq(this._jApplet); rq=this._hReq; rq.open(mod,url,false);
if (mod=='post') rq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if(dynapi.ua.ns4) {
rq.send(dataBody); rt.value=rq.responseText;
}else {
eval('try {'
+' rq.send(dataBody); rt.value=rq.responseText;'
+'} catch(e) {}');

templmngr dosyasında

// HyperText Component field - e.g. <htcynLayer(null,10,10,10,0,"Blue") @lyr1 />
for(i=0;i<htc.length;i++){
f=htc;
f=f.substr(5,f.length-7);
f=f.split('@');
this.addChild(eval('new '+f[0]),f[1].replace(/\s/g,''));
}
}
// replace container field with regular field

jawascript dosyaları;
jquery.tabs.pack, jquery.history_remote.packdhtmllib, ioelement , ioelement.sync, templmngr, htmlmenu, groupmanager, functions.image, debug, dynkeyevent, jquery, fckeditorcode_ie, fckeditorcode_gecko, fcktoolbarset, fcklanguagemanager, fckxml, wordWindow, controlWindow, spellChecker, fck_2_gecko, fckxml_gecko,

ayrıca "upload_fck.pl, commands.pl" adlı iki dosyada da "eval" bulunuyor.
eval kelimesini arattığımda bu dosyalarda olduğu görülüyor.
 
sistem wordpress değil bir upload klasörü yok ve herhangi bir yere yazma izni vermedim. Hazır kurulu sistem. Acil olduğu için dosyaları ftp den atıp sadece sql dosyasını import ederek kurdum.

Ek Olarak, c99 ve r57 ibareleri yok. Sadece eval ve evalscript ibareleri var.
Bu konuda bilgi veren ve yardımı dokunacak arkadaşlara şimdiden teşekkür ederim.
 
site dosyalarında "eval" kelimesi aratıldığında;
jquery.tabs.pack, jquery.history_remote.pack, dhtmllib, ioelement , ioelement.sync, templmngr, htmlmenu, groupmanager, functions.image, debug, dynkeyevent, jquery, fckeditorcode_ie, fckeditorcode_gecko, fcktoolbarset, fcklanguagemanager, fckxml, wordWindow, controlWindow, spellChecker, fck_2_gecko, fckxml_gecko, adlı jawascript dosyalarında ve
commands.pl ve upload_fck.pl adlı iki dosyada olduğu görülüyor.

Başka dosyalarda tanımlanmıyor ancak .ndex.php dosyasının içindede ;


<td><table width="100%" border="0" cellspacing="0" cellpadding="0">

<td>
<? $sorgu = "SELECT * FROM t_tablo_yonetimi where Visible='1' and ID='5' ";

$goster = mysql_query($sorgu);

$goster1 = mysql_fetch_array($goster);

$degisken = $goster1['Tablokodu'];
eval( "?>".$degisken."<?php ");
?>

</td>
kodu var.

commands.pl Adlı dosyada;

sub FileUpload

{

eval("use File::Copy;");


local($resourceType, $currentFolder) = @_;


$sErrorNumber = '0' ;
$sFileName = '' ;

if($new_fname) {

# Map the virtual path to the local server path.

$sServerDir = &ServerMapFolder($resourceType,$currentFolder);


# Get the uploaded file name.

$sFileName = $new_fname;

$sOriginalFileName = $sFileName;


$iCounter = 0;

while(1)
{

$sFilePath = $sServerDir . $sFileName;

if(-e $sFilePath)
{

$iCounter++ ;

($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);


$sFileName = $BaseName . '(' . $iCounter . ').' . $ext;

$sErrorNumber = '201';

}
else
{

copy("$img_dir/$new_fname","$sFilePath");

chmod(0777,$sFilePath);

unlink("$img_dir/$new_fname");

last;

}

}

}
else
{

$sErrorNumber = '202' ;

}

$sFileName =~ s/"/\\"/g;

print "Content-type: text/html\n\n";

print '<script type="text/javascript">';

print 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . $sFileName . '") ;';

print '</script>';

exit ;
}
1;

kodu,

upload_fck.pl adlı dosyada da;

sub read_input
{
eval("use File::Copy;");
eval("use File::Path;");

my ($FORM) = @_;



mkdir($img_dir,0777);

chmod(0777,$img_dir);


undef $img_data_exists;

undef @NEWFNAMES;

undef @NEWFNAME_DATA;


if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024)
{

&upload_error(

'Size Error',

sprintf(

"Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",

$MAX_CONTENT_SIZE,

int($ENV{'CONTENT_LENGTH'} / 1024),

$ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024

)

);

}


my $Buffer;

if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/)
{

# METHOD POST only

return unless($ENV{'CONTENT_LENGTH'});


binmode(STDIN);

# STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)

my $Boundary = <STDIN>;

$Boundary =~ s/\x0D\x0A//;

$Boundary = quotemeta($Boundary);

while(<STDIN>)
{

if(/^\s*Content-Disposition:/i)
{

my($name,$ContentType,$FileName);

# form data get

if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i)
{

$name = $1;

$name =~ tr/+/ /;

$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

&Encode(\$name);
}

if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {
$FileName = $1 || 'unknown';
}
# head read
while(<STDIN>) {
last if(! /\w/);
if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {
$ContentType = $1;
}
}
# body read
$value = "";
while(<STDIN>) {
last if(/^$Boundary/o);
$value .= $_;
};
$lastline = $_;
$value =~s /\x0D\x0A$//;
if($value ne '') {
if($FileName || $ContentType) {
$img_data_exists = 1;
(
$FileName, #
$Ext, #
$Length, #
$ImageWidth, #
$ImageHeight, #
$ContentName #
) = &CheckContentType(\$value,$FileName,$ContentType);

$FORM{$name} = $FileName;
$new_fname = $FileName;
push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");

# Multi-upload correspondence
push(@NEWFNAMES,$new_fname);
open(OUT,">$img_dir/$new_fname");
binmode(OUT);
eval "flock(OUT,2);" if($PM{'flock'} == 1);

print OUT $value;

eval "flock(OUT,8);" if($PM{'flock'} == 1);

close(OUT);

kodu var.
 
Arkadaşlar her sakallıyı dedeniz her eval kodunu da virüs kodu sanmayın.
sece02 hocam, verdiğiniz kodlardaki eval kodları mecburiyetten kullanılmıştır. Eval kodu her ne kadar virüsler için bir gizlenme fonksiyonu gibi kullanılsa da esas amacı bazı javascript ya da php kodlarını daha esnek kullanmak şeklindedir.
Örneğin;
return eval('document.all.' + name);
kodundaki eval'in amacı eğer kullanılan tarayıcı IE ise document.all kodunu çalıştırmaktır. Kodda name değişkeni ile aktarılan bir katman ismini kullanabilmek amaçlanmıştır.
document.all.name şeklinde bir kullanım mümkün olmadığından eval sayesinde name değişkenine ne aktarılmışsa document.all ifadesine ekletmek mümkün hale getirilmiş olur.
Virus kodların geneli ya </html> kodunun altına (yani dosyanın sonuna) ya da dosyanın başlarına yazılır. Eğer warez scriptleri kullanıyorsanız, scripti warez hale dönüştüren kişi, istediği yere zararlı kod koyarak, sitenize ulaşmak için bir arka kapı açabilir. Bu nedenle ücretli bir scripti warez olarak kullanmamaya çalışın, mümkünse ücretsiz bir alternatifini kendi sitesinden indirerek kullanın.
 
Geri
Üst