TikiWiki tiki-graph_formula.php文件白名单检查代码注入漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1188648 漏洞类型 权限许可和访问控制
发布时间 2007-10-29 更新时间 2007-11-15
CVE编号 CVE-2007-5682 CNNVD-ID CNNVD-200710-471
漏洞平台 N/A CVSS评分 7.5
|漏洞来源
https://www.securityfocus.com/bid/26220
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200710-471
|漏洞详情
TikiWiki是一款网站内容管理系统,基于PHP+ADOdb+Smarty等技术构建。TikiWiki的实现上存在漏洞,远程攻击者可能利用此漏洞在服务器上执行任意命令。由于PHP支持变量函数和变量,TikiWiki的白名单检查无法防范任意PHP代码执行。$varname='othervar';$$varname=4;//set$othervarto4$funcname='chr';$funcname(95);//callchr(95)TikiWiki的黑名单无法防范"$"字符,注入的PHP公式可以使用$sin、$cos、$tan之类的临时变量,因此攻击者可以通过代表其他函数名称的字符串填充临时变量绕过防护。可以使用两个PHP功能:数组到字符串的转换和处理未知的常量。$sin=cosh;//coshisanunknownconstant.//PHPassumesthestring'cosh'asvalue$sin[]=pi();//Createsanarray$sin=$sin.$sin;//Stringconcatsofarrays.Arraytostring//conversion.Becomes'ArrayArray'结合++运算符使用上述两个功能就可以如下调用chr()函数:$tan=pi()-pi();//Get0into$tan$sin=cosh;//Getthestring'cosh'into$sin$min=$sin[$tan];//Get'c'into$min$tan++;//Get1into$tan$min.=$sin[$tan+$tan+$tan]//Append'h'to'c'$min.=$sin[$tan];//Append'o'to'ch'$min++;//Increment'cho'to'chp'$min++;//Increment'chp'to'chq'$min++;//Increment'chq'to'chr'$min($tan)//Callchr(1)如果能够访问chr()函数,就可以创建各种字符串,调用任意其他函数,导致执行任意PHP代码。
|受影响的产品
TikiWiki Project TikiWiki 1.9.8 1 TikiWiki Project TikiWiki 1.9.8 TikiWiki Project TikiWiki 1.9.7 TikiWiki Project TikiWiki 1.9.6 TikiWiki Project TikiWiki 1.9.5 TikiWiki
|参考资料

来源:info.tikiwiki.org
链接:http://info.tikiwiki.org/tiki-read_article.php?articleId=15
来源:MISC
链接:http://www.sektioneins.de/advisories/SE-2007-01.txt
来源:BID
名称:26220
链接:http://www.securityfocus.com/bid/26220
来源:BUGTRAQ
名称:20071029AdvisorySE-2007-01:TikiWikiRemotePHPCodeEvaluationVulnerability
链接:http://www.securityfocus.com/archive/1/482908
来源:OSVDB
名称:43610
链接:http://osvdb.org/43610