preg_match(_all)的变量初始化问题

author: 80vul-B
team:http://www.80vul.com
date:2009-04-27

一 描叙

php手册里:
—————————————————————————————–
int preg_match ( string pattern, string subject [, array matches [, int flags]] )

在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。
如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
—————————————————————————————–

这个是一个应用比较多的函数,很多应用程序忘记对preg_match(_all)的变量进行初始化,导致安全漏洞.

二 分析

patch_match的部分源码:

三 测试代码

四 实际应用

[SODB-2009-01]:Discuz!<5.50 preg_match()的变量$onlineipmatches未初始化漏洞 [http://www.80vul.com/dzvul/]

留下评论