Доброй ночи!
По поводу нового алгоритма взлома - если я правильно понял логику, то с помощью файла /ajax/error_log_logic.php создаётся лог-файл /ajax/js_error.txt, но внутри его содержимое - это вредоносный PHP.
А потом в файлах /ajax/form.php и /form/index.php с помощью GET-параметра "url" этот js_error.txt просто инклудится (и исполняется соответственно, раз уж внутри PHP).
У себя закрыл так:
1. В error_log_logic.php закомментировал AddMessage2Log (он нужен для какой-то отладки, на рабочем сайте не нужен).
2. В /ajax/form.php закомментировал следующую строчку (это сломает кастомные формы с $form_id = 'TABLES_SIZE', но я у себя только одну такую нашёл "Нашли дешевле", которая не используется). При желании можно не комментировать include, а сделать строгую проверку этого $url_sizes перед ним.
3. В /form/index.php закомментировал такую же строчку соответственно.
Посмотрим, что будет...
По поводу нового алгоритма взлома - если я правильно понял логику, то с помощью файла /ajax/error_log_logic.php создаётся лог-файл /ajax/js_error.txt, но внутри его содержимое - это вредоносный PHP.
А потом в файлах /ajax/form.php и /form/index.php с помощью GET-параметра "url" этот js_error.txt просто инклудится (и исполняется соответственно, раз уж внутри PHP).
У себя закрыл так:
1. В error_log_logic.php закомментировал AddMessage2Log (он нужен для какой-то отладки, на рабочем сайте не нужен).
2. В /ajax/form.php закомментировал следующую строчку (это сломает кастомные формы с $form_id = 'TABLES_SIZE', но я у себя только одну такую нашёл "Нашли дешевле", которая не используется). При желании можно не комментировать include, а сделать строгую проверку этого $url_sizes перед ним.
| Код |
|---|
<?include($_SERVER['DOCUMENT_ROOT'].$url_sizes);?> |
| Код |
|---|
<?include('../'.$url_sizes);?> |