phpArticle2.06两个本地包含文件漏洞
来源:岁月联盟
时间:2007-08-19
文章作者: qaz0987
phpArticle是一个新闻发布系统,最近我学习php有了一段时间,在找网上的代码研究学习的时候,看了看,
发现了phpArticle2.06版本里有本地文件包含漏洞,因为找不到最新的phpArticle3下载,就没有测试。(刚又找了下,网上能下的最新的2.1版本也有此漏洞)
漏洞所在文件是count_bbs.php里
这段代码里对提交的sys变量没做检查,就直接包含为admin/loadsystem/目录下的一个文件了,
所以我们可以提交自己构造的sys变量,使count_bbs.php包含我们想包含的文件,但是由于变量
$loadsystem_suffix前已经有了路径,所以我们不能包含远程文件了,但是可以包含本地任意文件,
并且做为php文件来解析,这样也不错了。
现在就要上传php安全了,但是这里上传图片我们并不能得到图片的原始地址,只能通过php文
件来调用查看,看来上传文件不大可能了,但是,我们发现发表的文章都会生成静态页面,我们可以
把php文件写到静态html页面里,再本地包含,就能执行代码了。
发表一个文章,在编辑文章里选择查看html代码模式,写入
[Copy to clipboard]CODE:
<?phpinfo();?>
,然后提交,
等生成静态页面后,我们找到那个静态页面,就会发现我们的代码保存在html代码里,比如我本地测
试为D:/usr/vhosts/localhost/www/phpArticle2/htmldata/1/2006_12/22336_1.html,然后本地包含
http://localhost/phpArticle2/count_bbs.php?sys=/../../../htmldata/1/2006_12/22336_1.html%00
这里用到的是php的%00漏洞,php在%00处截断代码,不再往后执行,不然就会变成为包含
22336_1.html.php这个文件,执行后就能看到了php信息了,本地包含成功
另一个本地包含
Author:Zizzy
phparticle一直是一个很好的文章系统,我从前都是拿phparticle的代码来学习php,而且它的代码也一直以安全著称,尽管发现的是个很普通的漏洞,但能有幸发现pa漏洞还是很开心的。
首先看phparticle的index.php代码
很明显这个变量没有任何限制就被包含进来,那么理所当然的就形成了包含,而且限制了在modules/default文件夹下,就成了一个典型的php本地包含漏洞。
漏洞相关演示:
QUOTE:
http://www.utspeed.com/index.php?mod=../../../../../../../etc/passwd%00
http://www.phparticle.net/index.php?mod=../../../../../../../etc/passwd%00