Всем привет. Сайт на Друпал 7 (7.70) был атакован. Нашел в логах:
PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect INTEGER VALUE: '-' FOR COLUMN 'field_fivestar_rating' at ROW 1: INSERT INTO {field_data_field_fivestar} (entity_type, entity_id, revision_id, bundle, delta, LANGUAGE, field_fivestar_rating, field_fivestar_target) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7); Array ( [:db_insert_placeholder_0] => node [:db_insert_placeholder_1] => 2458 [:db_insert_placeholder_2] => 2458 [:db_insert_placeholder_3] => name [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => und [:db_insert_placeholder_6] => - [:db_insert_placeholder_7] => ) в функции field_sql_storage_field_storage_write() (строка 514 в файле /var/www/drupal/modules/FIELD/modules/field_sql_storage/field_sql_storage.module).
В результате:
- Полностью очистилась информация в одной ноде.
- Было заполнено body (Текст длинный (с анонсом)) - там было html статьи.
- Была Ссылка на термин (очистилось поле)
- Целое число (очистилось поле)
- Текст (очистилось поле)
Стоят все обновления + modsecurity (https://github.com/SpiderLabs/ModSecurity) на сервере.
Вопросы:
- Как мне найти все ноды, где могла стереться информация из полей?
- Почему не удалилась вся информация, а только из некоторых полей в 1 ноде? (атакованы были многие)
Комментарии
Слишком странный кейс для хакеров.
Я больше поверю, что у вас кастом какой-то поломался (типа импорта) и натворил делов
Ничего не ломалось, ничего не обновлялось. Все модули такие же, как и были, ядро не обновлялось, на сервере ничего не обновлялось.
Если ничего не ломалось, то почему тогда fivestar пытается вставить "-" вместо числа в свою таблицу?
Это удалением данных из ноды не объяснить
Потому, что это лишь одна микро-часть из атаки. Могу прикрепить весь лог, но он весит 250 МБ.
в основном там такое (похоже на попытки sql инъекции, я в этом мало понимаю):
--044b3a75-B--
POST /comment/reply/2458 HTTP/1.1
Content-TYPE: application/x-www-form-urlencoded
Referer: https://сайт.com/
Cookie: SSESS33624b4167cdc468729554e8a536f8fd=KaTV9joKkLnoD3WqT_1N58l14NReSz6VyXiORopCqgs
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Content-Length: 282
Host: site.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
Connection: Keep-alive
--044b3a75-C--
comment_body[und][0][value]=555&form_build_id=form-eDf9m1FuITUb3mBrcb-b-nGzSxRNzGyrqiK48De-YBU&form_id=comment_node_asic_form&name=1%00%C0%A7%C0%A2%252527%252522&op=%D0%9E%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D0%B8%D0%B9
--044b3a75-F--
HTTP/1.1 200 OK
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
X-Content-Type-Options: nosniff
Content-Language: ru
X-Frame-Options: SAMEORIGIN
Вот еще:
[Mon Jun 01 21:08:08.057283 2020] [:error] [pid 4928:tid 139733447460608] [client 35.188.75.121:50999] [client 35.188.75.121] ModSecurity: Warning. detected SQLi using libinjection with fingerprint 's&1c' [file "/etc/modsecurity/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [line "66"] [id "942100"] [msg "SQL Injection Attack Detected via libinjection"] [data "Matched Data: s&1c found within ARGS:comment_body[und][0][value]: -1' OR 3+849-849-1=0+0+0+1 -- "] [severity "CRITICAL"] [ver "OWASP_CRS/3.1.0"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-sqli"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"] [hostname "site.com"] [uri "/comment/reply/2458"] [unique_id "XtVEB38AAQEAABNAlTEAAACH"], referer: site
Вот еще из логов:
--8e980335-C--
comment_body[und][0][value]=1%00%C0%A7%C0%A2%252527%252522&form_build_id=form-RJXjCnJoDxdWE-RcSuoVlcoBGitTRuhiyCMKR1Pprws&form_id=comment_node_soft_form&homepage=http://www.vulnweb.com&mail=sample%40email.tst&name=JCfUZQsq&op=%D0%9E%D...
--8e980335-F--
HTTP/1.1 200 OK
X-Drupal-Cache: MISS
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
X-Content-Type-Options: nosniff
Content-Language: ru
X-Frame-Options: SAMEORIGIN
Возможно ли, атакуя, удалить содержимое полей?
Где можно посмотреть запросы к БД друпала, которые с инъекцией?