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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
! c( I+ j2 L1 W- C; [3 a1 W& a$ yDedeCms 5.x漏洞描述:$ S& I0 @, ^! b+ l* M
DedeCms是免费的PHP网站内容管理系统。
% O1 L, ^/ q+ z+ K' F: v) Q; E' _3 X6 P& B! J- t% Z
plus/carbuyaction.php里没有对变量进行严格的过滤4 [, s! c4 K0 {% j: x

5 }) ~# ?6 F% h1 k" V. m% |' C7 ~出现漏洞的两个文件为:& ~+ L7 ^, w, A: I/ K$ v9 a# b
Include/payment/alipay.php- y4 `% f/ r$ ~, T/ p3 x5 C- R; }! [
Include/payment/yeepay.php
, e: n" F- B7 Z+ I5 \+ E4 O7 M# R漏洞均出现在respond方法里
" m: G0 x3 D6 A
1 n' D  B6 q- _, ]) B* k; fInclude/payment/alipay.php
: ?* }' h0 K$ f# k* e" ?......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......2 K" V0 Q  D2 [7 @6 p& P3 P# r
                       
1 N6 i& U; _' {) c- D2 Y大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。9 s' u1 R0 @" ]2 u+ o1 k8 {# T# ]; J
Include/payment/yeepay.php
1 R5 d1 @6 D+ D; `1 h4 }......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......+ y7 B1 d( F0 y, f4 T. x# R
                       
; ]+ w) O6 u5 @6 q! y+ a7 y; I! n% E大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
. g% @  w8 b% A- A: fhttp://bugscan.net/manage/node/835 p! S' L! E. }
http://www.cnseay.com/2515/( ~5 g' a! e7 E4 \# U
*>  G% `8 H) C2 X# w! \2 k4 @1 M. n& d
测试方法:( {' J  g( b% l3 ]) }) v
1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie " ?$ U2 \* e* L4 a
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径
9 s9 o% Q8 d% ]% h, Z修复方法:$ G5 M6 h/ R9 t4 Z- |( I* A
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
" @! w& p+ Q% Dhttp://www.dedecms.com/products/dedecms/
/ H5 g; C; b& t; n5 _" r% `) f* b1 Y1 K: G( t
临时修复:
9 y0 B- w, ^6 q* f* s* t1)Include/payment/alipay.php
* P0 X" _+ ]4 }2 R* N' z  大概133行左右
0 V" ^7 S0 ^; u- j% \6 E  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';
1 e4 d- \9 v. X. E替换
' T6 I4 [+ Z  {* W9 P require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';0 B$ M( [  L  k3 l& p( c
2) Include/payment/yeepay.php7 K5 g- g. d7 D: ]
大概在145行左右" H- t- o& n2 [6 y7 b1 B
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';$ `3 s' l* N( D- _! d# m0 H
替换
; ?3 Y9 L% ?1 |. e! B/ g0 e require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';0 X: F) z6 y' c# y

; R7 D- |, x( w& n; i! w
回复

使用道具 举报

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

本版积分规则

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