linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 数据库开发 >
栏目导栏
资料搜索
热门文章
·oracle exp/imp命令详解
·Oracle exp/imp导出导入工具的
·MySQL图形化管理软件安装使用详
·SQL*PLUS命令的使用大全
·PPPOE + FreeRADIUS + MySQL 配
·MySQL语言参考(3) :SELECT和
·创建一个Oracle 数据库
·MySQL的管理工具:phpMyAdmin使
·ORACLE9I安装步骤
·Linux下Oracle9i RMAN备份及恢
·RMAN的中文文挡
·oracle 分区表的建立方法
·aix5.3安装oracle说明
·fc5 下成功安装Oracle 10g
·PHPMyAdmin配置标准
最新文章
·带你轻松接触MySQL数据库的异常
·PostgreSQL 8.3.1, 8.2.7发布
·实例讲解在MySQL中如何导出整个
·轻松掌握MySQL数据库锁机制的相
·五种MySQL数据库可靠性方案的分
·MySQL数据库中对前端和后台进行
·巧用MySQL InnoDB引擎锁机制解
·MySQL存储过程SAVEPOINT ROLLB
·创建Bitmap_Join_Indexes中的约
·在MySQL数据库中应当如何关闭错
·某些更改的非事务性表不能被回
·放弃连接消息出现在错误日志中
·怎样才能解决MySQL 5.0.16的乱
·MySQL数据库中如何解决分组统计
·SAVEPOINT和ROLLBACK TO SAVEP
Google
 
MySQL中LOAD DATA LOCAL安全问题
[ 作者:  加入时间:2007-09-30 11:33:12  来自:Linux联盟收集整理 ]
 

LOAD DATA语句可以装载服务器主机上的文件,若指定LOCAL关键字,可以装载客户端文件。

支持LOCAL版本的LOAD DATA语句有两个可能的安全问题:

· 由MySQL服务器启动文件从客户端向服务器主机的传输。理论上,打过补丁的服务器可以告诉客户端程序传输服务器选择的文件,而不是客户用LOAD DATA语句指定的文件。这样服务器可以访问客户端上客户有读访问权限的任何文件。

· 在Web环境中,客户从Web服务器连接,用户可以使用LOAD DATA LOCAL来读取Web服务器进程有读访问权限的任何文件(假定用户可以运行SQL服务器的任何命令)。在这种环境中,MySQL服务器的客户实际上是Web服务器,而不是连接Web服务器的用户运行的程序。

要处理这些问题,我们更改了MySQL 3.23.49和MySQL 4.0.2(Windows中的4.0.13)中的LOAD DATA LOCAL的处理方法:

· 默认情况下,现在所有二进制分中的发MySQL客户端和库是用--enable-local-infile选项编译,以便与MySQL 3.23.48和以前的版本兼容。

· 如果你从源码构建MySQL但没有使用--enable-local-infile选项来进行configure,则客户不能使用LOAD DATA LOCAL,除非显式调用mysql_options (...MYSQL_OPT_本地_INFILE,0)。参见25.2.3.48节,“mysql_options()”。

· 你可以用--local-infile=0选项启动mysqld从服务器端禁用所有LOAD DATA LOCAL命令。

· 对于mysql命令行客户端,可以通过指定--local-infile[=1]选项启用LOAD DATA LOCAL,或通过--local-infile=0选项禁用。类似地,对于mysqlimport,--local or -L选项启用本地数据文件装载。在任何情况下,成功进行本地装载需要服务器启用相关选项。

· 如果你使用LOAD DATA LOCAL Perl脚本或其它读选项文件中的[client]组的程序,你可以在组内添加local-infile=1选项。但是,为了便面不理解local-infile的程序产生问题,则规定使用loose- prefix:

·[client]
·loose-local-infile=1

·如果LOAD DATA LOCAL INFILE在服务器或客户端被禁用,试图执行该语句的客户端将收到下面的错误消息:

ERROR 1148: The used command is not 
allowed with this MySQL version
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·MySQL中的Mysqld安全相关启动选项  (2007-09-30 11:31:53)
 ·抵御对MySQL在攻击  (2007-09-30 11:31:06)
 ·MySQL簇的基本概念  (2007-09-30 11:30:31)
 ·MYSQL存储程序、函数、触发程序以及复制的问题  (2007-09-30 11:29:40)
 ·如何为 MySQL添加新函数  (2007-09-30 11:28:13)
 ·如何更改mysql表中的列顺序  (2007-09-30 11:27:01)
 ·MySQL数据库中的 ALTER TABLE  (2007-09-30 11:26:19)
 ·MySQL 中与浮点比较  (2007-09-30 11:24:51)
 ·MySQL 数据库中对XA事务的限制  (2007-09-30 10:47:52)
 ·MySQL 数据库中对视图的限制  (2007-09-30 10:47:16)