Frage

I have succesfully installed mysql-proxy and understood the way working and lua scripting. But I am not good at writing lua.

So my problem is the software I use for web hosting keep creating mysql users with OLD_PASSWORD('') in the queries. I think mysql-proxy should easyly replace OLD_PASSWORD('') with new PASSWORD('') value.

I have recently seen some tutorials on youtube some ppl manage to replace queries via phpmyadmin. If there is any other way to replace queries please let me now.

Not: I can not change queries from software because it is encoded and some files exe.

Example query:

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

Expected query :

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

Lösung

After some search on the internet i found the solution.

 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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top