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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 17:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
漏洞版本:
- R2 F" A6 M' @: Y2 ADedeCms 5.x漏洞描述:! c. p; k* a& o9 `
DedeCms是免费的PHP网站内容管理系统。7 |4 A, i8 a2 c
1 P+ M) X: w6 S1 O# g7 S# ]4 a) [
plus/carbuyaction.php里没有对变量进行严格的过滤0 S, k! j$ F3 f/ p5 Z' n( y
, o2 M3 W  T! @: N3 O% X4 r
出现漏洞的两个文件为:8 t% @# y! T* _2 n& A% d
Include/payment/alipay.php
  {2 ]% e! j* x, X, g) Y% M/ Z* PInclude/payment/yeepay.php
: c2 l5 |% m0 x: z5 T: E漏洞均出现在respond方法里9 l  r  k: f+ Y2 ]
- k1 T6 o' L7 k8 P) }5 q0 m
Include/payment/alipay.php ! b( V, b$ ^* ~' p: b" d$ i- L
......function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}/* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';......- J) r7 G2 d: @3 Y+ v1 J1 A9 o" X3 O: }
                       
9 `, z7 S) L% ~2 c1 h3 j7 n大概在133行左右,$_GET[‘code’]没有经过任何判断和过滤。
* z+ r: Z1 |+ ]8 Y! \1 r6 I4 ~3 lInclude/payment/yeepay.php, w6 D" F) z( B
......function respond(){ /* 引入配置文件 */require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php'; $p1_MerId = trim($payment['yp_account']);$merchantKey = trim($payment['yp_key']);......
) L5 W9 W- C4 f% Y* `! C9 D9 i9 O7 x                       
1 g! H& ~. u! ?& c大概在145行左右,$_REQUEST['code']没有经过任何判断和过滤。<* 参考
9 y) H& G  q! j% Xhttp://bugscan.net/manage/node/83) ^9 t; P5 Z1 B' H6 Q
http://www.cnseay.com/2515/0 N( K7 A6 X4 \; P; p2 D4 n3 r
*>
  e) r& m: d1 J4 N; V1 k+ E测试方法:
! p& F% w6 s' X. g9 x4 N1.http://www.dedecms.com/plus/carb ... amp;code=../../tags 上面的Exp是包含根目录下的tags.php文件包含其他后缀请自行构造截断, 使用exp测试时须要自己添加一个code等于alipay或yeepay的cookie ( v/ q; `- U2 M& Z/ V+ |
2.由于bank和cod这两个文件并没有respond方法,所以如果code等于bank或者cod时将会暴错泄露路径1 b8 h/ ]* g& a$ b, ]+ W# B
修复方法:7 Q) [5 P4 p7 c2 h
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
/ [% |8 e' O" V+ k. X  s6 khttp://www.dedecms.com/products/dedecms/
- T. j) n* }8 x
: i8 E  X; f5 H! d* L. a) ? 临时修复: 8 P+ O) `0 D$ G! v5 a; a
1)Include/payment/alipay.php: O0 L; V6 d$ @: f
  大概133行左右2 @, `  J- m& R) C+ f8 d$ p6 i: [
  require_once DEDEDATA.'/payment/'.$_GET['code'].'.php';" @+ C: k  v3 d# t: ^; C/ T! Y# Y
替换& t1 J& @4 K) R+ {% m  A4 V4 e
require_once DEDEDATA.'/payment/'.basename($_GET['code']).'.php';' C4 s$ E9 m  i6 l2 `0 Z: K
2) Include/payment/yeepay.php
# E6 Z/ Q" W$ V0 J+ I1 r" ?5 L5 g大概在145行左右% x- e5 R# F% _3 k6 ]+ k' M
require_once DEDEDATA.'/payment/'.$_REQUEST['code'].'.php';
: Q+ n6 O- h- O. {) ?* N 替换
) j5 Q5 d: M; S3 P# C require_once DEDEDATA.'/payment/'.basename($_REQUEST['code']).'.php';
" j9 _' \1 X7 Y! y% W: d$ n: ] " Q' h6 s& Q1 B
回复

使用道具 举报

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

本版积分规则

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