关于IPB刚出的漏洞-mysql截断导致的漏洞

先贴一下原文:http://www.john-jean.com/blog/securite-informatique/ipb-invision-power-board-all-versions-1-x-2-x-3-x-admin-account-takeover-leading-to-code-execution-742

这是个好漏洞,倒不是IPB现在使用的有多么广(虽然还在我那个年代是用的挺广的,sigh,好老)
只是这个漏洞主要利用的亮点其实不在于IPB,而是在于对MySQL特性的了解上:

1、在INSERT的时候,如果你插入的字符超出了MySQL的字段长度,MySQL会自动截断到最大长度然后插入,并不会出错。
2、在SELECT的时候,如果你查询某字段等于’a      ’,他的效果和分别查询 ‘a   ‘或者是 ‘a’没有区别。如图所示:

除了漏洞中利用的几个之外,mysql还有很多类似于类型转换造成的问题,比如大家所周知“0等于一切”的特性。

所以,IPB只是个躺枪的,各位深挖以下,可以挖出更多类似的问题。安全研究者对各类系统的特性研究,很多时候要多于开发者和使用者自身。灵活应用自身优势,眼界会很不一样。

——————————————————-

更新下,才发现可以算是我们PHP安全研究者统一的偶像Stefan Esser牛,早在08年就根据同样的特性给出了类似的漏洞:

http://www.suspekt.org/2008/08/18/mysql-and-sql-column-truncation-vulnerabilities/

作者:GaRY

link:http://www.cnseay.com/2857/

本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。