Как я могу заменить свои запросы MySQL-прокси или любым другим способом?

Я успешно установил mysql-proxy и понял, как работает сценарий и lua. Но я не очень хорошо пишу Луа.

Поэтому моя проблема заключается в том, что программное обеспечение, которое я использую для веб-хостинга, продолжает создавать пользователей mysql с OLD_PASSWORD('') в запросах. Я думаю, что MySQL-прокси должен легко заменить OLD_PASSWORD('') с новым значением PASSWORD ('').

Недавно я видел некоторые учебники на YouTube, которым некоторые ppl удается заменить запросы через phpmyadmin. Если есть какой-либо другой способ заменить запросы, пожалуйста, дайте мне сейчас.

Не: я не могу изменить запросы из программного обеспечения, потому что он закодирован и некоторые файлы EXE.

Пример запроса:

INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', OLD_PASSWORD('123456'))

Ожидаемый запрос:

INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', PASSWORD('123456'))

1 ответ

Решение

После некоторого поиска в интернете я нашел решение.

 function read_query( packet )
   if string.byte(packet) == proxy.COM_QUERY then
     local query = string.sub(packet, 2)
     local replacing = false
     -- matches "OLD" as first word of the query
     if string.match(string.upper(query), 'OLD_PASSWORD') then
         query = string.gsub(query,'OLD_PASSWORD', 'PASSWORD')
         replacing = true
     end
     if (replacing) then
         proxy.queries:append(1, string.char(proxy.COM_QUERY) .. query )
         return proxy.PROXY_SEND_QUERY
     end
   end
 end
Другие вопросы по тегам