MySQL安全性指南(2)(转)


nbsp;    FIELDS ESCAPED BY "" LINES TERMINATED BY "";
SELECT * FROM tmp INTO OUTFILE "y.frm"
     FIELDS ESCAPED BY "" LINES TERMINATED BY "";
DELETE FROM tmp;
LOAD DATA INFILE "./other_db/x.ISD" INTO TABLE tmp
     FIELDS ESCAPED BY "" LINES TERMINATED BY "";
SELECT * FROM tmp INTO OUTFILE "y.ISD"
     FIELDS ESCAPED BY "" LINES TERMINATED BY "";
DELETE FROM tmp;
LOAD DATA INFILE "./other_db/x.ISM" INTO TABLE tmp
     FIELDS ESCAPED BY "" LINES TERMINATED BY "";
SELECT * FROM tmp INTO OUTFILE "y.ISM"
现在你拥有了一个新表y,它包含other_db.x的内容并且你有全权访问它。
为避免让人以同样的方式攻击,根据“第一部分 内部安全性-保护你的数据目录”中的指令设置你的数据目录上的权限。你也可以在你启动服务器时使用--skip-show-database选项限制用户对于他们没用访问权限的数据库使用SHOW DATABASES和SHOW TABLES。这有助于防止用户找到关于它们不能访问的数据库和表的信息。

ALTER权限能以不希望的方式使用。假定你想让user1可以访问table1但不能访问tables2。一个拥有ALTER权限的用户可以通过使用ALTER TABLE将table2改名为table1来偷梁换柱。

当心GRANT权限。两个由不同权限但都有GRANT权限的用户可以使彼此的权利更强大。
Copyright © 2008 chengduxinxi.com All Rights Reserved PHP编程开发 由朝夕网络维护