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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:' O6 g+ R) I6 L4 M% |
DedeCms 5.x漏洞描述:
& L2 W. h) {( [  ]+ GDedeCms是免费的PHP网站内容管理系统。
+ n* x* l0 @9 P: Q- A1 {+ r$ f# C6 @: ]4 l
plus/carbuyaction.php里没有对变量进行严格的过滤* ?' A" A' M& b" s* l3 a7 H% D2 r

# C/ ]5 J& D) a+ D* y5 K出现漏洞的两个文件为:2 ]/ P; Q( w" y; Z. M% W$ D  m
Include/payment/alipay.php
! K( x% b0 r" N3 Z, PInclude/payment/yeepay.php
7 l, w- O: i; U( b) i' x" T% q漏洞均出现在respond方法里
0 R- S- T+ `: O7 Z* w. H7 q+ d9 \4 r" ?
Include/payment/alipay.php ' F0 p8 M0 F$ _" \' j) K" Z7 N
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......4 j) G" Y, y7 r' v2 H2 ?
                       
4 g1 T+ i8 j$ f6 h, @4 H大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
; J( Z2 K) I  o. r* WInclude/payment/yeepay.php
3 I2 g& J% [' F; c2 S......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
' B& c5 K$ w" x% [8 p- t                       
* f9 ?8 V5 o- D# G% u, A5 s8 o大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
( f/ s6 l2 n$ D/ l% Hhttp://bugscan.net/manage/node/83
3 b  `! I& _, v1 o2 }/ M& ?+ Fhttp://www.cnseay.com/2515/4 _& T* N: ^, T3 Q+ @; }
*>
& `1 Z/ I1 W; k3 o6 z2 Y测试方法:+ H% N( S4 j/ H" K$ h
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie & A. T3 `, A9 R+ p" \
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
3 Z) k& S9 r$ U* ]- y& z. ]修复方法:/ Z3 k4 A# Z: R( v9 E7 W. X
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:6 @5 |' K2 y1 [" b% ]
http://www.dedecms.com/products/dedecms/
4 q1 j2 E7 x, u; \3 O0 h8 g* u  J) x% M0 x8 X
临时修复:
4 P2 W" }9 M1 t% F1)Include/payment/alipay.php
; D! X- K: ], ?) J: j! m  大概133行左右
$ s" ?$ h1 J1 Q7 r0 n7 `  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';7 z1 A- P; v2 L- U4 @4 n7 A
替换
; a3 I" z5 O+ Y2 |0 H require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';
# i% k  Z) X! ], [2) Include/payment/yeepay.php: M( J/ G3 H0 f0 A& Y" B
大概在145行左右& z) y3 F# G  n& g/ C. L
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
! q0 N- }  k. _' W2 F' u( [5 |- D 替换! f. v" y- ]2 J+ ~4 g& M+ S0 _
require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
& V* I3 U$ ?# t& n  Q
+ P1 r8 w3 T1 i$ h0 b9 s) W
回复

使用道具 举报

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

本版积分规则

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