找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1926|回复: 0
打印 上一主题 下一主题

织梦(Dedecms)V5.X 本地文件包含漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
. E# L& k5 _) s; oDedeCms 5.x漏洞描述:
5 `# M4 i  Z3 o4 F8 f9 q* n4 }3 rDedeCms是免费的PHP网站内容管理系统。
( S- l* R: C- N9 h( ~1 {
/ N8 n6 I1 h: [8 x) F- A9 Xplus/carbuyaction.php里没有对变量进行严格的过滤/ x/ t! d# [/ W6 |2 s7 U: G1 p
5 M3 M4 A% p$ K. E( z' {. a
出现漏洞的两个文件为:
/ W7 K/ N" }; O8 O$ E+ i. B! MInclude/payment/alipay.php
9 F/ g( u3 y. K! T) ?Include/payment/yeepay.php$ T5 j( o9 S. m' o% s
漏洞均出现在respond方法里. C( D% B+ |8 Y# a: E# Y
9 {2 a& {9 I5 h  `: d0 F  K- M* D
Include/payment/alipay.php
9 P9 E8 I0 O4 `4 K# ?1 I: E) B* I......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......: c; w8 D6 ~7 j4 K4 k
                        " p3 h1 s+ r8 d8 E; R
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
, _+ }. x/ x! J1 l( s, CInclude/payment/yeepay.php
2 u3 B1 z+ |2 s9 h4 e......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......  @. _3 [! u# B
                        * t% M2 D. ~& u
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
/ l6 t% Q! a/ e. w0 ]1 Z/ Jhttp://bugscan.net/manage/node/83) Z* M- b: y8 b5 n& O# q
http://www.cnseay.com/2515/
/ I6 ~' @( g7 S* ]  F" D*>
! B6 G7 C& c" \7 Q测试方法:* a; g4 R4 P* a
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ' n9 x2 u( |7 r$ U1 x' ^0 i
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径! o4 X' U( A+ x" r; O
修复方法:
1 B% C/ C6 W+ w5 G8 q目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
5 ?4 Q6 o# {2 K, Uhttp://www.dedecms.com/products/dedecms/; G* \/ f4 m; R( E4 U
+ X/ j8 B1 q8 p: ]! g
临时修复:
5 _3 Y% X6 S# N1)Include/payment/alipay.php
1 o% i3 v: z- F  大概133行左右
: J6 z/ p) ], K: k+ O  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
% a, z6 o5 w3 X" v0 k替换
- @1 p! ~2 S: [% ]6 ~2 P require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
* A2 f/ O3 g- J; v" r. Z2) Include/payment/yeepay.php
3 k7 D0 h! U5 k$ j# x) l6 T! n% x大概在145行左右
1 c9 ~" J' D" f+ _4 Q require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';8 h! \: }9 @/ ^3 W" h3 V" y7 |" M
替换
( U  v$ o/ \/ M6 {  f6 R5 | require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';" N; C+ W) x, h6 _! L

8 {  P# |* a& l$ X( ~7 k
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表