黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 网管频道 >> 入侵检测 >> 正文
·MySQL Proxy(解决注入的06-06·时光回到过去 完美修复损06-06
·恶搞XP系统桌面 巧妙给高06-06·终点网络提供200-300M免06-06
·再谈Windows Vista管理员06-05·NT900提供100M-2G免费全06-05
·对某ASC加密网马的破解和06-04·有效防范CC的新思路--CC06-04
·Solaris 安全整理06-04·FLASH 0DAY Shellcode位06-04
·flash漏洞所用shellcode06-04·phpwind管理权限泄露漏洞06-04
·phpwind管理权限泄露漏洞06-04·关于phpwind克隆用户06-04
·SQL注入攻击-来自微软安06-04·Windows Server 2008下 06-04
·免格式化制作移动硬盘恢06-04·Vista磁盘碎片整理亲历记06-04
·巧用组策略加固你的操作06-04·RTG(亚洲)网络提供200M/06-04
·Vista下上网冲浪与众不同06-02·微调Web站点以适应XP SP06-02
·安装Vista SP1后遇到声音06-02·在XP和Windows Server 206-02
·第一主机提供CN免费域名06-02·超级主机提供200M/FTP免06-02
·企业服务器 SQL Server弱06-01·3389任意密码登陆(vb源码06-01
[推荐]MySQL Proxy(解决注入的另一思路)
        ★★★★★

MySQL Proxy(解决注入的另一思路)

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-6-6 10:17:35

作者:云舒

What is MySQL Proxy?

MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication. Its flexibility allows for unlimited uses; common ones include: load balancing; failover; query analysis; query filtering and modification; and many more.

可以看到,MySQL Proxy的主要作用是用来做负载均衡,数据库读写分离的。但是需要注意的是,MySQL Proxy还有个强大的扩展功能就是支持Lua语言——魔兽也是使用了Lua来开发游戏,据我所知网易也是——可以参见云风的博客。这样一种扩展,就给了我让他做别的事情的思路——防止注入攻击。

启动MySQL Proxy的时候,加载一个Lua脚本,对每一个进入的query或者insert之类的语句做一次安全检查,甚至替换查询中的某些内容,这样在程序员的 程序中忘记了过滤参数的情况下,还有最后一道防线可用。而且由于是Lua这样的动态脚本语言,在开发,修正,部署方面都会有极大的灵活性。当然,或许会担 心性能方面的问题,那么在前面加memcached吧,或者干脆用c来写这样的扩展,毕竟MySQL Proxy是开源的,而且有清晰的接口。

MySQL Proxy提供给Lua的接口主要有以下几个函数:

connect_server() — 这个函数每次client连接的时候被调用,可以用这个函数来处理负载均衡,决定当前的请求发给那个后台的服务器,如果没有指定这个函数,那么就会采用简单的轮询机制。

read_handshake() — 这个函数在server返回初始握手信息时被调用,可以调用这个函数在验证信息发给服务器前进行额外的检查。

read_auth() — client发送验证信息给服务器的时候会调用这个函数。

read_auth_result() — 服务器验证信息返回后调用这个函数。

read_query() — 每次client发送查询请求函数的时候被调用,可以用这个函数进行查询语句的预处理,过滤掉非预期的查询等等,这个是最常用的函数。

read_query_result() — 查询结果返回是调用的函数,可以进行结果集处理。

可以看到,自由发挥之后还是有很多其它的事情可以做的。不知道现在有没有公司这么做,或者说做过这方面的尝试。我只是写一个小思路,可行不可行, 等以后再去检验吧。最近牙疼的厉害,唉,小时候不注意,现在治疗保护都来不及了。以后有了自己的宝宝,我会吸取教训的,呵呵,与君共勉。

参考资料:
http://www.maycode.com/index.php/hotspot/35-linux/740-mysql.html
http://forge.mysql.com/wiki/MySQL_Proxy

文章录入:cainiaowang    责任编辑:xinlian 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886