phpcms2008sp4 下载任意文件漏洞发布后,27号官方的补丁是这样的:
down.php
if(preg_match('/\.php/i',$f) || strpos($f, ":\\")) showmessage('地址有误'); //12行
没补丁前是这样的:
if(preg_match('/\.php$/',$f) || strpos($f, ":\\")) showmessage('地址有误'); //12行
可以看出两者的区别。
但同样是这个文件中:
parse_str($a_k);//8行
知道这里还有更好的利用方法了,再看文件:
download.php
if($m) $fileurl = trim($s).trim($fileurl); //25行左右
什么也不说,利用parse_str方法,可以下载任意文件。
而且,parse_str的利用,还可以利用到其他地方,如覆盖下面的某些变量的利用。
phpcms2008sp4_utf8_100527
厂商补丁:
PHPCMS
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.phpcms.cn/
暂无评论