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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
1 ?/ d0 S* T8 Q& V9 ~% ?DedeCms 5.x漏洞描述:
1 I. J6 R) t4 oDedeCms是免费的PHP网站内容管理系统。
) }! R4 R8 f0 A& i. N7 W" {0 {, P; Y* Z; G$ {" |1 c
plus/carbuyaction.php里没有对变量进行严格的过滤% `/ ~" ?3 g4 ~2 T, \

8 _( G1 [- L% m出现漏洞的两个文件为:
% B* M1 [' S9 f( p7 c" `Include/payment/alipay.php
2 @, g$ g8 W9 j; P$ b3 ?Include/payment/yeepay.php
% ^0 _, N: Z! v, p9 ]+ t1 n漏洞均出现在respond方法里
1 i- p) Q& z+ M, \5 g' |, ?; M) Z+ Y! m; w6 P
Include/payment/alipay.php
' v- ^8 w5 E0 ~1 A......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......
1 C# U' D6 Z/ j5 M; v4 n1 x& E9 e  o                       
. k: F" b- A$ {9 B8 Q* \大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。  t+ ^, I4 z" f) {4 ]
Include/payment/yeepay.php
' |+ Y9 {# J" H0 z5 b; ~( w$ w......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
' ^3 C1 ], f/ H* n* d                        8 w) y( `: `' l& }  s
大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考9 E- Z! ^, ^! ~, b4 s4 Z
http://bugscan.net/manage/node/83
4 X1 C" Q$ F7 x. b2 w2 I" ?http://www.cnseay.com/2515/
" u% c  j. @" S! g! I( L5 e*>
, ]1 l/ ^; X3 ?( Z6 z( z' `( b测试方法:
0 V: M% l: p& |1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie / L6 c0 w0 ^3 t( u4 J5 n
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
6 o% n* q' Y/ |: |修复方法:& ]3 _8 d0 C. C3 m6 B+ w' ?
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:: B* L8 m7 w( b7 S6 W# h# a/ v4 ?0 ]
http://www.dedecms.com/products/dedecms/
- e9 C2 d9 U9 N; K# ^; @! ]4 q" E9 G
临时修复:   F& H6 B: t" C' M! j$ B
1)Include/payment/alipay.php- a4 b# |2 ?* N) |* y
  大概133行左右
8 t4 w7 y" c. [  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
7 a# y' b9 O' s) K; V4 Q9 g替换
, c# U% k7 h% q8 Q4 D0 k require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';. ~/ S3 b% `8 p: y4 s
2) Include/payment/yeepay.php
, o# ^# ]8 m) T4 }# E6 v大概在145行左右! {  e: i4 v+ C' s$ D3 l' ^
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
$ n: l6 T% B! O. R1 e 替换
3 U3 i5 y* _* A3 b- v require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';" R% H0 q0 S9 R' V8 @6 s" J, H

1 c) R$ A0 Y* Y3 V* i
回复

使用道具 举报

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

本版积分规则

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