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

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客入侵 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]如何入侵MySQL5数据库
      ★★★★★

如何入侵MySQL5数据库

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-10-12 8:23:45

   Mysql5增加很多新的功能,开始支持:存储过程、触发器、视图、信息架构视图等新特。可以说这些都是发展的必然,但是新的东西的出来,必定也会带来新的安全问题,如Mysql4开始支持union查询、子查询。这直接导致mysql注射更容易、广泛。mysql5的新功能会给安全带来什么新的东西呢?下面我给大家介绍下mysql5在安全方面的特点:


一、password authentication

mysql5的password()和mysql4.1一样,采用的基于SHA1的41位hash:

mysql> select password('mypass');
+-------------------------------------------+
 | password('mypass')                          |
+-------------------------------------------+
 | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
+-------------------------------------------+
1 row in set (0.00 sec)

在mysql4.1以前的password hashes是基于16位md5:

mysql> SELECT PASSWORD('mypass');
+--------------------+
| PASSWORD('mypass') |
+--------------------+
| 6f8c114b58f2ce9e   |
+--------------------+

当使用低版本的Client连接时,回出现错误:Client does not support authentication protocol,为了解决这个问题,mysql5提供了一个old_password(),就相当于mysql4.1以前的的password():

mysql> select old_password('mypass');
+------------------------+
| old_password('mypass') |
+------------------------+
| 6f8c114b58f2ce9e       |
+------------------------+
1 row in set (0.09 sec)

二、数据字典(information_schema)

和mssql、oracle、db2等数据库一样,mysql5提供了一个系统数据库:information_schema
mysql> use information_schema;
Database changed
mysql> show tables;
+---------------------------------------+
 | Tables_in_information_schema  |
+---------------------------------------+
| CHARACTER_SETS                  |
| COLLATIONS                            |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS                                  |
| COLUMN_PRIVILEGES            |
| KEY_COLUMN_USAGE           |
| ROUTINES                                  |
| SCHEMATA                                |
| SCHEMA_PRIVILEGES             |
| STATISTICS                                |
| TABLES                                       |
| TABLE_CONSTRAINTS           |
| TABLE_PRIVILEGES                 |
| TRIGGERS                                   |
| VIEWS                                           |
| USER_PRIVILEGES                     |
+---------------------------------------+
16 rows in set (0.17 sec)

在这个数据库里我们可以得到很多信息,包括当前用户权限:
mysql> select * from information_schema.USER_PRIVILEGES;
+-----------+---------------+----------------+--------------+
| GRANTEE   | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+-----------+---------------+----------------+--------------+
| 'KK1'@'%' | NULL          | USAGE          | NO           |
+-----------+---------------+----------------+--------------+
1 row in set (0.02 sec)

当前用户权限下可以访问的数据库,表,列名(这个在sql注射中,导致直接暴区数据库,表列名,再也不要‘暴力’咯):

mysql> select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from information_schema.STATIS
TICS;
+--------------+------------+-------------+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME |
+--------------+------------+-------------+
| in           | article    | articleid   |
| in           | user       | userid      |
+--------------+------------+-------------+
2 rows in set (0.02 sec)

还可以得到当前用户权限下的VIEWS,ROUTINES等,关于ROUTINES我们在下面的‘存储过程’里详细介绍。

[ps:注意是‘当前用户权限’如果是root,那么太可以得到所有的数据库名称以及表列名等等]

[1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:sygbox 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886