mysql-proxy read_auth方法中 替换用户名和密码
2013-03-31 19:12
260 查看
mysql-proxy 中的read_auth方法可以实现 将客户端发送来的用户名和密码替换成真正的用户名和密码 ,比如 reaplace / me 替换成 root
/root。最主要的部分是调用to_response_packet方法生成一个数据包发送给数据库进行验证。
在mysql-proxy 0.8.3 前的版本 写法如下
Java代码:
proxy.queries:append(1,
proto.to_response_packet({
username = "root",
response = password.scramble(s.scramble_buffer, password.hash("secret"))
})
)
return proxy.PROXY_SEND_QUERY
在mysql-0.8.3版本的api中增加了server_capabilities属性,上面的程序会报以下错误信息:
Java代码:
.server_capabilities has to be set
需要改写成以下形式:
Java代码:
local protocol_41_default_capabilities = 8+512+ 32768
--8 + -- _CONNECT_WITH_DB
--512 + -- _PROTOCOL_41
--32768 -- _SECURE_CONNECTION
Java代码:
proxy.queries:append(1,
proto.to_response_packet({
username = "root",
response = password.scramble(scramble_buffer, password.hash("root")),
server_capabilities=protocol_41_default_capabilities
})
)
被这个问题困扰了三四天,终于解决了。
/root。最主要的部分是调用to_response_packet方法生成一个数据包发送给数据库进行验证。
在mysql-proxy 0.8.3 前的版本 写法如下
Java代码:
proxy.queries:append(1,
proto.to_response_packet({
username = "root",
response = password.scramble(s.scramble_buffer, password.hash("secret"))
})
)
return proxy.PROXY_SEND_QUERY
在mysql-0.8.3版本的api中增加了server_capabilities属性,上面的程序会报以下错误信息:
Java代码:
.server_capabilities has to be set
需要改写成以下形式:
Java代码:
local protocol_41_default_capabilities = 8+512+ 32768
--8 + -- _CONNECT_WITH_DB
--512 + -- _PROTOCOL_41
--32768 -- _SECURE_CONNECTION
Java代码:
proxy.queries:append(1,
proto.to_response_packet({
username = "root",
response = password.scramble(scramble_buffer, password.hash("root")),
server_capabilities=protocol_41_default_capabilities
})
)
被这个问题困扰了三四天,终于解决了。
相关文章推荐
- Mysql 5.6添加修改用户名和密码的方法
- MySQL给用户名添密码的五种方法(转载)
- MySQL客户端不输入用户名和密码直接连接数据库的2个方法
- mysql修改用户名密码和Load Data Local Infile的权限及用户自定义函数方法
- MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
- MySQL曝中间人攻击Riddle漏洞可致用户名密码泄露的处理方法
- MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
- linux下mysql的root密码忘记的解决方法
- 系统默认的MySQL用户名消失的解决方法(修正版)
- MySQL——修改root密码的4种方法(以windows为例)
- linux下mysql的root密码忘记&初始化 密码解决方法
- 用Metasploit破解Mysql用户名和密码
- linux下mysql的root密码忘记解决方法:
- xampp修改mysql默认密码的方法
- 修改Mysql中root账号的空密码方法
- Eclipse中修改SVN用户名和密码方法[转]
- MySQL——修改root密码的4种方法(以windows为例)
- Git@OSC push 不用每次输入用户名和密码的方法
- Windows下mysql忘记root密码的解决方法
- MySQL修改密码方法总结