The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Уязвимость в mysqldump, позволяющая выполнить код при восста..., opennews (ok), 11-Мрт-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


28. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +1 +/
Сообщение от Alex_Kemail (??), 11-Мрт-17, 14:00 
Выводы:
1.
Под рутом (ОС) загружать сторонний дамп нельзя из-за
system    (\!) Execute a system shell command.

2. Даже дамп сделанный собственноручно (без skip-comments) загружать по рутом (ОС) небезопасно.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

35. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от тоже аноним (?), 11-Мрт-17, 16:31 
> Выводы:

нет, неправильные.
Правильные: сторонний или даже собственноручный (разницы совершенно никакой, если только база не твоя собственная и create в ней не можешь делать только ты) дамп нельзя загружать под любым привиллегированным акаунтом самого mysql - что очень неудобно, поскольку обычная практика - не хранить пароли юзеров.
При этом его еще и нельзя загружать под любым _своим_ системным акаунтом, даже нерутовым- потому что свой обычно позволяет sudo (с паролем, без пароля - похрен, подсунут тебе левый бинарник - ты еще и свой пароль дашь погонять)
То есть владельцам shared надо заводить отдельную виртуалку со специальным акаунтом для восстановления (вероятно, автоматическую - запустил, сама всосала дамп, сама восстановила, самоуничтожилась вместе с содержимым, следующий запуск с исходного образа), а сам этот акаунт создавать каждый раз для каждого юзера (или таки хранить их пароли с риском что упрут)

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

Ответить | Правка | Наверх | Cообщить модератору

37. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  –1 +/
Сообщение от angra (ok), 11-Мрт-17, 17:39 
Да и у тебя они не правильные :)
Действия для пользователя, требующие только знаний, но не привилегий, надо делать из под пользователя(системного, БД, админка итд). Всегда и не только с sql дампами. Тогда не надо думать, сам ты сделал архив, дамп или еще что-то или не сам, может там быть что-то зловредное или не может.
Это как с поворотниками или ремнями безопасности в машине, умный доводит их использование до автоматизма и не задумываясь использует даже если ему надо сто метров по дворам в три часа ночи проехать, а дурак начинает каждый раз размышлять: увидят гаишники или не увидят, есть другие машины или нет.

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

Ответить | Правка | Наверх | Cообщить модератору

54. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +1 +/
Сообщение от Анон_ (?), 12-Мрт-17, 00:03 
> Действия для пользователя, требующие только знаний, но не привилегий, надо делать из под
> пользователя

я не знаю пароля пользователя. И не имею ни малейшего желания его знать.
su для sql почему-то не придумали.
Кстати, если пользователя поломали, лезя в его акаунт, ты оказываешь ему (и, возможно, себе) медвежью услугу.

> Ну и в этом случае проблема не столько с именами таблиц, сколько с возможностью вообще
> выполнять шелловые команды

вполне достаточно возможности выполнять _sql_ные команды (только совсем не create/insert).
Включая и grant all.
Чтобы этого избежать, нужен полноценный restore, а не скармливание дампа универсальному шеллу.

Ответить | Правка | Наверх | Cообщить модератору

59. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  –1 +/
Сообщение от angra (ok), 12-Мрт-17, 03:25 
> я не знаю пароля пользователя. И не имею ни малейшего желания его знать.
> su для sql почему-то не придумали.

Ну если ты ничего о мускуле знать не хочешь, то тебе наверное лучше его не админить. Админ без закидонов решает эту "проблему" в два счета.

Ответить | Правка | Наверх | Cообщить модератору

68. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от Аноним (-), 13-Мрт-17, 08:23 
apt-get remove mysqld ?

d:\windows_server\setup.exe ?

Ответить | Правка | Наверх | Cообщить модератору

70. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от angra (ok), 13-Мрт-17, 10:13 
> apt-get remove mysqld ?

apt-get remove работает с именами пакетов, а не бинарей на диске.

> d:\windows_server\setup.exe ?

Ну это тебе виднее, последний windows server, который я ставил, был 2003-й.

Ответить | Правка | Наверх | Cообщить модератору

78. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от пох (?), 13-Мрт-17, 17:10 
> d:\windows_server\setup.exe ?

mysql в ней ровно тот же самый и из того же источника.
А mssql для вебни (не внутрикорпоративной, с пятикилобайтной "строкой" sql-запроса, но и с аж пятью пользователями, которых можно просто заставить не запускать ее одновременно с пяти мест, а паблик, с тысячами пользователей и примитивными insert/delete по полста в секунду) - боюсь, как бы не оказался еще худшим рeшетом, и еще большим тормозом и сборищем глюков.

И в любом случае это отдельная жизнь, не каждому админу lamp-серверов она дана.
(обратное тоже верно, судя по спаму, попершему пачками с хостингов гарант-парка)

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

38. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от KonstantinB (ok), 11-Мрт-17, 17:43 
> что очень неудобно, поскольку обычная практика - не хранить пароли юзеров

Это, кстати, проблема именно mysql.
В postgresql это решаемо.

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

79. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от mickvav (?), 14-Мрт-17, 14:27 
Отложить в сторонку хеш пароля пользователя, установить случайный длинный, прийти под этим паролем, поднять дамп, вернуть хеш на место - это как-то уже слишком сложно, да?
Ответить | Правка | Наверх | Cообщить модератору

41. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  –1 +/
Сообщение от Alex_Kemail (??), 11-Мрт-17, 19:03 
Как вариант перед импортом дампа вырезать из него строки, которые начинаются с system или \!
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

46. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от angra (ok), 11-Мрт-17, 21:29 
Ну вот какую глупость только не придумают, лишь бы не делать правильно. Ну выполни в клиенте такую строку:
select 1; \! id
Ответить | Правка | Наверх | Cообщить модератору

50. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  –1 +/
Сообщение от Аноним (-), 11-Мрт-17, 21:46 
Аутиста по решению важных вопросов видно из-далека.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

55. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от Анон_ (?), 12-Мрт-17, 00:07 
> Как вариант перед импортом дампа вырезать из него строки, которые начинаются с
> system или \!

правильная обработка untrusted input заключается ровно в обратном - вырезать все строки, содержащие что-либо кроме create/insert в правильном sql-синтаксисе.

проблема в том, что сама строка create с переводами строки - в правильном sql-синтаксисе, и правильно работает, проблемы будут потом у того, кто этот дамп еще где-то попытается залить без двойного презерватива.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

58. "Уязвимость в mysqldump, позволяющая выполнить код при восста..."  +/
Сообщение от Сифилис (?), 12-Мрт-17, 01:49 
Двойной тоже рвется
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру