找回密码
 立即注册
查看: 2485|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
. f0 b+ S9 Q7 Z6 R; a" nDedeCms 5.x漏洞描述:
, J- r+ m* u# O% {- Q% _/ HDedeCms是免费的PHP网站内容管理系统。4 l5 }: B0 A8 a9 n

& J9 K8 t% e2 E; m* Tplus/carbuyaction.php里没有对变量进行严格的过滤
5 T/ h& n5 ]% }. }9 z! o( o* M( U% e6 T3 C7 G$ m0 X6 G: z
出现漏洞的两个文件为:
+ U- R$ x0 ^* \7 R4 u8 B$ s( oInclude/payment/alipay.php! w$ _6 Y5 q( p1 P, c  [
Include/payment/yeepay.php
% C# K3 D: p7 t) u漏洞均出现在respond方法里
9 P2 J, z+ l# M+ M+ z( k/ F) J3 D9 m% s$ z" A! n
Include/payment/alipay.php
( Y1 I$ c$ C+ ?9 S9 D; v# H8 T......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
: I3 f9 v3 K3 q. J+ K1 [8 Y+ Y& _, }" U                        # u. x& M& d; J" M. O0 p
大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
- h* Y# c  E4 R4 N/ _6 nInclude/payment/yeepay.php
0 o. }7 A& w% U' |' N9 k1 Q+ e......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......( k/ L$ @" f$ V) A8 V
                        - b, `5 k2 K) M! u8 u6 {, }1 q
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考7 e* ]- n5 Z5 C2 _
http://bugscan.net/manage/node/83
% H1 Y0 _: t8 Y( D* thttp://www.cnseay.com/2515/  I0 Z5 y9 `1 X4 D; l/ D" ^
*>4 w& p' z8 V, [6 `
测试方法:5 U8 F! O( S2 O1 e8 u9 Q4 @
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie
3 V6 a& y; y& ?5 Y3 }% ^2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径$ v6 G# a3 F- |% T
修复方法:
' _5 Z" t: N. Y( f- N% q, |/ ~目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:0 n  m1 X6 t% l) f# b
http://www.dedecms.com/products/dedecms/* L8 e- r8 L/ F4 Z$ z- e
2 L# [4 b# X! i8 ^- X3 L* v% L
临时修复: # X& v$ s8 f6 d4 h- }' k
1)Include/payment/alipay.php' {- y4 r( C/ [$ [5 G1 v
  大概133行左右. l+ Z3 {- ?' S$ B% T+ @' R/ a9 F
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
! ]( e+ C( R3 `; \6 u( R替换+ Z8 B5 r/ I# H- O+ z
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
1 Q, o* I8 m; x9 @7 M( G2) Include/payment/yeepay.php
( y, {1 Y, b- g, P) c* N4 i( G/ `+ D: J大概在145行左右. H3 ^' ^! b) Z8 c
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
5 C4 C  [; k( j' [6 w8 N; s 替换( w5 h0 x- T" v) q5 {
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
3 C1 X% G5 @$ a+ j5 O5 X 9 H. G2 W, x2 K' m
回复

使用道具 举报

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

本版积分规则

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