这是个好漏洞,倒不是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/
吐了个槽:
1#
Sogili (. )( .) | 2013-05-14 10:34
好思路!
2#
only_guest (PKAV-誓与AV抢宅男!) | 2013-05-14 10:53
占楼。还在看
3#
HuGtion | 2013-05-14 11:20
占楼
4#
GaRY | 2013-05-14 11:26
小更新了下
5#
cnrstar (Be My Personal Best!) | 2013-05-14 11:45
看下。厉害
6#
Zvall (▄︻┻═┳一 ?????????) | 2013-05-14 12:29
顶!。以后 要记得 trim一下!!
7#
Zvall (▄︻┻═┳一 ?????????) | 2013-05-14 12:35
哦 不行! trim可以绕过!
8#
鬼哥 | 2013-05-14 12:56
@Zvall 要判断下字符长度+trim
9#
_Evil (年轻人切忌浮躁,性趣是最好的导师.) | 2013-05-14 13:49
@鬼哥 @Zvall %09怎m办!
10#
axis | 2013-05-14 13:53
@GaRY小哥,你不看《白帽子讲Web安全》么,请参阅7.2.5一节。该技巧当年一出来的时候@猪猪侠 就在blog上分析过了。
11#
GaRY | 2013-05-14 13:59
@axis 惭愧,还是黑哥告诉我的。
12#
落叶纷飞 (im luoye,Once the 00day) | 2013-05-14 14:07
从前就很膜拜我非我牛
13#
horseluke (微碌) | 2013-05-14 14:10
IPB那个洞其实还有一个问题,那就是用str_replace自己改变了email格式后再验证...
改变格式这种事本身就存在风险啊,以前不是就因为类似改变格式再验证,导致出什么截断漏洞么.......
14#
3c0de | 2013-05-14 14:19
HI @axis
《白帽子讲Web安全》 我是看pdf因為台灣買不到
《Web前端黑客技術揭秘》 這本我買了
這2本內容不錯
不過我個人發現有幾個要小小建議的地方這樣
因為有點不易閱讀
書本中的 代碼的排版應該高亮一下
書本中的 都用新細明體 有時還出現標楷體 然後這樣2種字體都不適合印刷
就醬稍微給個建議:)