Добрый день. Проверяю сайт один, простенький, работает в связке mysql+php. Веб сервер и база данных находятся на одном сервере. Уязвимость boolean-based blind и error-based. Использую sqlmap. Есть все права на запись/чтение: Spoiler: Привилегии [INFO] fetching current user [09:58:18] [INFO] resumed: root@localhost current user: 'root@localhost' [09:58:18] [INFO] testing if current user is DBA [09:58:18] [INFO] fetching current user current user is DBA: True [09:58:18] [INFO] fetched data logged to text files under '/root/.sqlmap/output/ [*] %root% (administrator) [28]: privilege: ALTER privilege: ALTER ROUTINE privilege: CREATE privilege: CREATE ROUTINE privilege: CREATE TABLESPACE privilege: CREATE TEMPORARY TABLES privilege: CREATE USER privilege: CREATE VIEW privilege: DELETE privilege: DROP privilege: EVENT privilege: EXECUTE privilege: FILE privilege: INDEX privilege: INSERT privilege: LOCK TABLES privilege: PROCESS privilege: REFERENCES privilege: RELOAD privilege: REPLICATION CLIENT privilege: REPLICATION SLAVE privilege: SELECT privilege: SHOW DATABASES privilege: SHOW VIEW privilege: SHUTDOWN privilege: SUPER privilege: TRIGGER privilege: UPDATE Пользователь не заблокирован. При эксплуатации уязвимости есть трудности, а именно: 1. В sqlmap не выполняется ни --file-read, ни --file-write. Как вроде нету прав на чтение/запись. Пробовал все директории, которые указаны в text.php сервера apache. 2. Не могу найти ни одной директории для записи. Пробовал /tmp/, не пишет. Из-за этого не выполняются --os-shell и --os-cmd. 3. Так как в связке php+mysql, стек запросов не поддерживается, есть ли способ изменить содержимое таблиц базы данных? Получается, доступ на запись у пользователя есть, у службы mysql доступ к записи в файловую систему тоже есть, но ничего не пишет и не читает. Что я упустил? Какие еще права я не проверил?
В последних версиях по дефолту есть ограничение доступных путей для команд чтения/записи https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv
Это значит: 1. Уточнить версию 2. Прочитать документацию 3. Узнать значение: SELECT @@GLOBAL.secure_file_priv;
1. Версия 5.7.22 2. Прочитал документацию. Значение переменной может быть либо путь к папке либо "пусто". 3. sqlmap вернул значение '/var/lib/mysql-files/' Еще раз спасибо за подсказку.